题解
2023-07-21 15:54:21
发布于:四川
58阅读
0回复
0点赞
往年的NOIP是真的简单,这个题硬模拟就行了啊。QWQ
只不过模拟过程有点废手,但还是很简单的捏。
#include <iostream>
#include <vector>
using namespace std;
int main(){
int n;
cin >> n;
vector<vector<int>> a(n+1,vector<int>(n+1,0));
int x=1,y=(n>>1)+1;
for (int i=1;i<=n*n;++i){
a[x][y]=i;
if (x==1 && y!=n){
x=n,++y;
}else if (y==n && x!=1){
y=1,--x;
}else if (x==1 && y==n){
++x;
}else if (x!=1 && y!=n && a[x-1][y+1]==0){
--x,++y;
}else{
++x;
}
}
for (int i=1;i<=n;++i){
for (int j=1;j<=n;++j){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个