#include <bits/stdc++.h>
#define f first
#define s second
#define pb push_back
#define INF 1000000000
#define N (long)1e3
using namespace std;
typedef long long ll;
typedef long double ld;
int main()
{
int n;
cin>>n;
if (n&1)
{
for (int i=1; i<=n*n; i++)
{
cout<<i<<" ";
if (!(i%n)) cout<<endl;
}
return 0;
}
int a[n][n];
int sum=0;
for (int i=1; i<n; i++) a[0][i-1]=i,sum+=i;
a[0][n-1]=(n-1)*n-sum;
int x=a[0][n-1];
for (int i=1; i<n-1; i++)
for (int j=0; j<n; j++) a[i][j]=a[i-1][j]+x;
sum=0;
for (int i=1; i<n; i++) sum+=a[i-1][0];
sum=a[n-2][0]*n-sum;
for (int j=0; j<n-1; j++) a[n-1][j]=sum+j;
a[n-1][n-1]=sum+x-1;
for (int i=0; i<n; i++)
{
for (int j=0; j<n; j++) cout<<a[i][j]<<" ";
cout<<endl;
}
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
5 ms |
256 KB |
Output is correct |
2 |
Correct |
5 ms |
384 KB |
Output is correct |
3 |
Correct |
5 ms |
256 KB |
Output is correct |
4 |
Correct |
4 ms |
256 KB |
Output is correct |
5 |
Correct |
4 ms |
256 KB |
Output is correct |
6 |
Correct |
5 ms |
384 KB |
Output is correct |
7 |
Correct |
5 ms |
384 KB |
Output is correct |
8 |
Correct |
6 ms |
384 KB |
Output is correct |
9 |
Correct |
6 ms |
384 KB |
Output is correct |
10 |
Correct |
6 ms |
512 KB |
Output is correct |