过了这么久才来发解题报告,蒟蒻实在惭愧 /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 }
magic

相关文章: