CF361A Levko and Table 题解

· · 题解

蒟蒻的第一篇题解

众所周知,题目中的 他想构造一个长宽都是 n 且每行每列的和都是 k 的幻方

所以我们是不是可以把这个幻方变成这样:

k 0 0 0 ... 0
0 k 0 0 ... 0
0 0 k 0 ... 0
0 0 0 k ... 0
.............
0 0 0 0 ..k 0
0 0 0 0 ... k

(让 k 为一条斜线)

正好有 n 行。

想一想,举一个栗子:

Input:
3 4

Output:
4 0 0
0 4 0
0 0 4

这样就可以让每一行的和相等。

没错,又是一道水题。

结构有了,但我无比的害怕测试点不一样...

结果 AC了.

代码如下:

C++:

#include<iostream>
#include<cstdio>
#include<bits/stdc++.h>
using namespace std;
int i,j,k,n;
int main(){
    cin>>n>>k;
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            if(j==i){//画出"斜线"
                cout<<k<<" ";
            }else{
                cout<<"0 ";
            }
        }
        cout<<endl;
    }
    return 0;
}

C 语言:

#include<iostream>
#include<cstdio>
#include<bits/stdc++.h>
using namespace std;
int i,j,k,n;
int main(){
    scanf("%d %d",&n,&k);
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            if(j==i){
                printf("%d ",k);
            }else{
                printf("0 ");
            }
        }
        printf("\n");
    }
    return 0;
}

题解完美结束,祝刷题愉快!