| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 151661 | 格林老师 | 方阵填数 | C++ | Accepted | 1 MS | 276 KB | 868 | 2026-04-17 15:24:09 |
#include <bits/stdc++.h> using namespace std; int main() { int N; cin>>N; int a[101][101]; int top=0,bottom=N-1,left=0,right=N-1; int num=1; while (num<=N*N){ for (int i=top;i<=bottom && num<=N*N;i++){ a[i][right]=num; num++; } right--; for (int i=right;i>=left && num<=N*N;i--){ a[bottom][i]=num; num++; } bottom--; for (int i=bottom;i>=top && num<=N*N;i--){ a[i][left]=num; num++; } left++; for (int i=left;i<=right && num<=N*N;i++){ a[top][i]=num; num++; } top++; } for (int i=0;i<N;i++){ for (int j=0;j<N;j++){ cout<<a[i][j]<<" "; } cout<<endl; } return 0; }