螺旋方阵(模拟)

  1  2  3  4  5
 16 17 18 19  6
 15 24 25 20  7
 14 23 22 21  8
 13 12 11 10  9

你是否见过这样的图案,简单的模拟

没什么好说的,直接上代码!

代码

//(water problem)
#include<bits/stdc++.h>
using namespace std;
const int mx=100;
int forge[4]={0,1,0,-1};
int opint[4]={1,0,-1,0};
int a[mx][mx];
int n,i,j,k,d;
int main(){
	cin>>n;
	for(i=0;i<=n+1;i++)
		for(j=0;j<=n+1;j++) a[i][j]=1;
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++) a[i][j]=0;
	i=1,j=1,d=0;
	for(k=1;k<=n*n;k++){
		a[i][j]=k;
		if(a[i+forge[d]][j+opint[d]]!=0) d=(++d)%4;
		i=i+forge[d];
		j=j+opint[d];
	}
	for(i=1;i<=n;i++){
		for(j=1;j<=n;j++)
			cout<<setw(3)<<a[i][j];
		cout<<endl;
	}
	return 0;
}
/*
  1  2  3  4  5
 16 17 18 19  6
 15 24 25 20  7
 14 23 22 21  8
 13 12 11 10  9
*/

谢谢

posted @ 2022-09-17 16:58  Euouae  阅读(18)  评论(0编辑  收藏  举报