| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 133203 | 吕毅心 | 螺旋矩阵 | C++ | Accepted | 2 MS | 280 KB | 2077 | 2025-10-17 18:17:07 |
#include<iostream> // cin\cout\endl #include<cstdio> //scanf()\printf() #include<cstring> // strcpy()\strcat()\strcmp()\strlen()\memset() #include<cmath> //sqrt()\pow()\abs()\ceil()\floor()\max()\min() using namespace std; int main(){ /* int n,i,j,sum=0; cin>>n; int a[n][n]; for(i=0;i<n;i++){ sum=0; for(j=0;j<n;j++){ cin>>a[i][j]; if(a[i][j]==1){ sum+=1; } } if(sum%2!=0){ cout<<"Corrupt";return 0; } } sum=0; for(j=0;j<n;j++){ for(i=0;i<n;i++){ if(a[j][i]==1){ sum+=1; } } if(sum%2!=0){ cout<<"Corrupt";return 0; } sum=0; } cout<<"OK"; */ /* int n,i,j,sum=0; cin>>n; int a[n][n]; for(i=0;i<n;i++){ for(j=0;j<n;j++){ if(i<j||i==j){ cout<<i+1<<" "; }else{ cout<<j+1<<" "; } } cout<<endl; } */ /* int n,i,j,sum=0; cin>>n; int a[n][n]; for(i=0;i<n;i++){ for(j=0;j<n;j++){ if(i%2==0){ a[i][j]=i*n+j+1; }else if(i%2!=0){ a[i][j]=(i+1)*n-j; } } } for(i=0;i<n;i++){ for(j=0;j<n;j++){ printf("%3d",a[j][i]); } cout<<endl; } */ int n,j,sum=0; cin>>n; int a[n][n]; int t=1; int i=0; while(t<=n*n){ for(int j=i;j<n-i&&t<=n*n;j++) a[i][j]=t++; for(int j=i+1;j<n-i&&t<=n*n;j++) a[j][n-1-i]=t++; for(int j=n-i-2;j>=i&&t<=n*n;j--) a[n-1-i][j]=t++; for(int j=n-i-2;j>i&&t<=n*n;j--) a[j][i]=t++; i++; } for(i=0;i<n;i++){ for(j=0;j<n;j++){ printf("%4d",a[i][j]); } cout<<endl; } return 0; }