过了这么久才来发解题报告,蒟蒻实在惭愧 /w\
Day1 T1
【思路】
模拟
【代码】
1 #include<iostream> 2 #include<cstring> 3 #include<queue> 4 #include<cmath> 5 #define FOR(a,b,c) for(int a=(b);a<=(c);a++) 6 using namespace std; 7 8 const int maxn = 50; 9 10 int G[maxn][maxn]; 11 int n,m; 12 13 int main() { 14 cin>>n; 15 int r=1,c=n/2+1; 16 G[r][c]=1; 17 FOR(i,2,n*n) { 18 if((r==1)&&(c!=n)) { 19 r=n; c++; 20 G[r][c]=i; 21 } 22 else if(c==n&&r!=1) { 23 c=1; r--; 24 G[r][c]=i; 25 } 26 else if(r==1 && c==n) { 27 r++; 28 G[r][c]=i; 29 } 30 else if(r!=1 && c!=n) { 31 if(!G[r-1][c+1]) { 32 r--; c++; 33 G[r][c]=i; 34 } 35 else { 36 r++; 37 G[r][c]=i; 38 } 39 } 40 } 41 FOR(i,1,n) { 42 FOR(j,1,n) cout<<G[i][j]<<" "; 43 cout<<endl; 44 } 45 return 0; 46 }