Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
8042 | 邓小龙 | 螺旋矩阵 | C++ | Accepted | 0 MS | 264 KB | 824 | 2025-06-07 10:45:08 |
#include<bits/stdc++.h> using namespace std; int main(){ int a[21][21]; int n,cnt=1; cin>>n; int k= n%2==1 ? n/2+1 : n/2; //a?b:c;//三目运算符 a条件?执行b :执行c for(int z=1;z<=k;z++){//第z层,最多k层 //右 for(int j=z;j<=n-z+1;j++){//起点,终点 a[z][j]=cnt++;//行号==层号 } //下 for(int i=z+1;i<=n-z+1;i++){//起点z+1行,终点 a[i][n-z+1]=cnt++; } //左 for(int j=n-z;j>=z;j--){ a[n-z+1][j]=cnt++; } //上 for(int i=n-z;i>=z+1;i--){ a[i][z]=cnt++; } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++) cout<<setw(4)<<a[i][j]; cout<<endl; } return 0; }