6 条题解
-
1曾扬洋 (2022ts280) LV 9 @ 2023-5-7 18:01:57
#include<iostream> using namespace std; const int N=1e5+10; int a[110][110],n,x,y,cnt=1; int main(){ cin>>n; a[1][1]=1; x=2; y=1; while(cnt<n*n){ while(x>=1&&y<=n){ a[x][y]=++cnt; x--; y++; } if(x==0&&y<=n){ x++; }else{ x+=2; y--; } while(y>=1&&x<=n) { a[x][y]=++cnt; x++; y--; } if(y==0&&x<=n){ y++; }else{ x--; y+=2; } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++) cout<<a[i][j]<<" "; cout<<endl; } return 0; }
-
02024-11-1 18:44:35@
#include<iostream> using namespace std; const int N=1e5+10; int a[110][110],n,x,y,cnt=1; int main(){ cin>>n; a[1][1]=1; x=2; y=1; while(cnt<n*n){ while(x>=1&&y<=n){ a[x][y]=++cnt; x--; y++; } if(x0&&y<=n){ x++; }else{ x+=2; y--; } while(y>=1&&x<=n) { a[x][y]=++cnt; x++; y--; } if(y0&&x<=n){ y++; }else{ x--; y+=2; } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++) cout<<a[i][j]<<" "; cout<<endl; } return 0; }
-
02023-3-21 17:30:23@
#include<iostream> using namespace std; const int N=1e5+10; int a[110][110],n,x,y,cnt=1; int main(){ cin>>n; a[1][1]=1; x=2; y=1; while(cnt<n*n){ while(x>=1&&y<=n){ a[x][y]=++cnt; x--; y++; } if(x==0&&y<=n){ x++; }else{ x+=2; y--; } while(y>=1&&x<=n) { a[x][y]=++cnt; x++; y--; } if(y==0&&x<=n){ y++; }else{ x--; y+=2; } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++) cout<<a[i][j]<<" "; cout<<endl; } return 0; }
-
02022-11-22 18:17:41@
#include<bits/stdc++.h>
using namespace std;
int a[101][101],n,i,j,ans=1;
int main(){
cin>>n; i=1; j=1; a[i][j]=1; while(ans<=n*n){ if((i==1&&j==n&&n%2==0)||(i==n&&j==1&&n%2!=0)){ break; } if(j==1&&i%2!=0){ a[i+1][j]=ans+1; ans++; i+=1; while(i!=1){ a[i-1][j+1]=ans+1; ans++; i-=1; j+=1; } } else if(i-1<1&&j!=1){ a[i][j+1]=ans+1; ans++; j+=1; while(j!=1){ a[i+1][j-1]=ans+1; ans++; i+=1; j-=1; } } } while(ans<=n*n){ if(i+1>n){ a[i][j+1]=ans+1; ans++; j+=1; while(j!=n){ a[i-1][j+1]=ans+1; ans++; i-=1; j+=1; } } else if(j+1>n){ a[i+1][j]=ans+1; ans++; i+=1; while(i!=n){ a[i+1][j-1]=ans+1; ans++; i+=1; j-=1; } } if(i==n&&j==n){ break; } } for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ cout<<a[i][j]<<" "; } cout<<endl; } return 0;
}
-
-12023-3-21 17:27:02@
#include<iostream> using namespace std; const int N = 1e5 + 10;
int a[110][110],n,x,y,cnt = 1;
int main(){ cin>>n; a[1][1] = 1; x = 2; y = 1;
while(cnt < n * n) { while(x >= 1 && y <= n){ a[x][y] = ++cnt; x--;y++; } if(x == 0 && y <= n){ x++; } else { x+=2; y--; } while(y >= 1 && x <= n){ a[x][y] = ++cnt; x++;y--; } if(y==0 && x <= n){ y++; } else { x--;y+=2; } } for(int i =1;i<=n;i++) { for(int j=1;j<=n;j++) cout<<a[i][j]<<" "; cout<<endl; } return 0;
}
-
-12023-3-21 17:20:06@
#include<iostream> using namespace std; int a[101][101],n,x,y,cnt=1; int main() { cin>>n; a[1][1]=1; x=2;y=1; while(cnt<n*n) { //right-up while(x>0&&y<=n) { a[x][y]=++cnt; x--;y++; } if(x==0&&y<=n)x++; else { x+=2; y--; } while(y>0&&x<=n) { a[x][y]=++cnt; y--;x++; } if(y==0&&x<=n)y++; else { x--; y+=2; } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++)cout<<a[i][j]<<' '; cout<<endl; } return 0; }
- 1
信息
- ID
- 1063
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 255
- 已通过
- 102
- 上传者