Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
109857 | 胡海峰老师 | 方阵填数 | C++ | Accepted | 1 MS | 292 KB | 873 | 2025-02-12 21:58:57 |
#include <iostream> using namespace std; int a[101][101]; int main(){ int a[101][101]; int n; cin>>n; int i=1; int x=1,y=n; while( i<=n*n) { while( x>=1 && x<=n && y>=1 && y<=n && a[x][y]==0 ) { a[x][y] = i; x++; i++; } x--; y--; while( x>=1 && x<=n && y>=1 && y<=n && a[x][y]==0 ) { a[x][y] = i; y--; i++; } x--; y++; while( x>=1 && x<=n && y>=1 && y<=n && a[x][y]==0 ) { a[x][y] = i; x--; i++; } x++; y++; while( x>=1 && x<=n && y>=1 && y<=n && a[x][y]==0 ) { a[x][y] = i; y++; i++; } x++; y--; } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) cout<< a[i][j] << " "; cout<<endl; } return 0; } /* Input 5 Output 13 14 15 16 1 12 23 24 17 2 11 22 25 18 3 10 21 20 19 4 9 8 7 6 5 */