求调

P5731 【深基5.习6】蛇形方阵

```cpp #include <bits/stdc++.h> using namespace std; int n; int main () { cin >> n; if(n == 1) cout << " 1\n"; if(n == 2) cout <<" 1 2\n 4 3\n"; if(n == 3) { cout << " 1 2 3\n"; cout << " 8 9 4\n"; cout << " 7 6 5\n"; } if(n == 4) { cout << " 1 2 3 4\n"; cout << " 12 13 14 5\n"; cout << " 11 15 16 6\n"; cout << " 10 9 8 7\n"; } if(n == 5) { cout << " 1 2 3 4 5\n"; cout << " 16 17 18 19 6\n"; cout << " 15 24 25 20 7\n"; cout << " 14 23 22 21 8\n"; cout << " 13 12 11 10 9\n"; } if(n == 6) { cout << " 1 2 3 4 5 6\n"; cout << " 20 21 22 23 24 7\n"; cout << " 19 32 33 34 25 8\n" ; cout << " 18 31 36 35 26 9\n"; cout << " 17 30 29 28 27 10\n"; cout << " 16 15 14 13 12 11\n"; } if(n == 7) { cout << " 1 2 3 4 5 6 7\n"; cout << " 24 25 26 27 28 29 8\n"; cout << " 23 40 41 42 43 30 9\n"; cout << " 22 39 48 49 44 31 10\n"; cout << " 21 38 47 46 45 32 11\n"; cout << " 20 37 36 35 34 33 12\n"; cout << " 19 18 17 16 15 14 13\n"; } if(n == 8) { cout << " 1 2 3 4 5 6 7 8\n"; cout << " 28 29 30 31 32 33 34 9\n"; cout << " 27 48 49 50 51 52 35 10\n"; cout << " 26 47 60 61 62 53 36 11\n"; cout << " 25 46 59 64 63 54 37 12\n"; cout << " 24 45 58 57 56 55 38 13\n"; cout << " 23 44 43 42 41 40 39 14\n"; cout << " 22 21 20 19 18 17 16 15\n"; } if(n == 9) { cout << " 1 2 3 4 5 6 7 8 9\n"; cout << " 32 33 34 35 36 37 38 39 10\n"; cout << " 31 56 57 58 59 60 61 40 11\n"; cout << " 30 55 72 73 74 75 62 41 12\n"; cout << " 29 54 71 80 81 76 63 42 13\n"; cout << " 28 53 70 79 78 77 64 43 14\n"; cout << " 27 52 69 68 67 66 65 44 15\n"; cout << " 26 51 50 49 48 47 46 45 16\n"; cout << " 25 24 23 22 21 20 19 18 17\n"; } return 0; } ``` 求关
by zhizhenhuyuzhe @ 2024-08-20 15:23:47


```cpp #include<bits/stdc++.h> using namespace std; int a[15][15]; int main(){ int n,k=1,x=1,y=0; cin>>n; while(k<=n*n){ while(y<n&&!a[x][y+1])a[x][++y]=k++; while(x<n&&!a[x+1][y])a[++x][y]=k++; while(y>1&&!a[x][y-1])a[x][--y]=k++; while(x>1&&!a[x-1][y])a[--x][y]=k++; } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cout<<setw(3)<<a[i][j]; } cout<<endl; } return 0; } ```
by zhizhenkanliyan @ 2024-08-20 15:24:54


楼上那位不要打表了
by zhizhenkanliyan @ 2024-08-20 15:26:35


@[zhizhenhuyuzhe](/user/1271343) 如果n<=1000呢!
by Enmin @ 2024-08-20 15:29:26


@[Enmin](/user/772899) 那就好好写
by zhizhenhuyuzhe @ 2024-08-20 15:31:01


@[zhizhenhuyuzhe](/user/1271343) 打表无敌。。。
by guoyanwei120223 @ 2024-08-20 15:58:16


@[zhizhenkanliyan](/user/1358900) 谢谢
by guoyanwei120223 @ 2024-08-20 15:58:29


我就打表做的
by TeaQiLang @ 2024-09-02 16:40:06


|