社区讨论
建议升橙
P5731【深基5.习6】蛇形方阵参与者 10已保存回复 13
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 13 条
- 当前快照
- 1 份
- 快照标识符
- @lo15vf2m
- 此快照首次捕获于
- 2023/10/22 15:42 2 年前
- 此快照最后确认于
- 2023/11/02 15:17 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
cin>>a;
int b[a+2][a+2],cnt=1,x=1,y=1,dx[5]={0,0,1,0,-1},dy[5]={0,1,0,-1,0},t=1;
for(int i=0;i<=a+1;i++){
for(int j=0;j<=a+1;j++)
b[i][j]=-1;}
for(int i=1;i<=a;i++){
for(int j=1;j<=a;j++)
b[i][j]=0;}
for(int i=1;i<=a*a;i++){
b[x][y]=i;
int nx=x+dx[t],ny=y+dy[t];
if(b[nx][ny]==0){
x=nx;
y=ny;
}else{
t++;
if(t>4) t=1;
x+=dx[t];
y+=dy[t];}}
for(int i=1;i<=a;i++){
for(int j=1;j<=a;j++){
cout<<setw(3)<<b[i][j];}
cout<<endl;}
return 0;
}
回复
共 13 条回复,欢迎继续交流。
正在加载回复...