一点好玩的
  • 板块灌水区
  • 楼主Nastu2333
  • 当前回复6
  • 已保存回复6
  • 发布时间2023/11/13 13:15
  • 上次更新2023/11/13 16:33:28
查看原帖
一点好玩的
1091076
Nastu2333楼主2023/11/13 13:15
#include<bits/stdc++.h>
using namespace std;
int   n,a[200][200]={0};  
int	  dx[4]={0,1,0,-1},dy[4]={1,0,-1,0}; 
int main(){
	cin>>n;
	for (int j=0; j<=n+1; j++) a[0][j] = a[n+1][j] = -1; 
	for (int i=0; i<=n+1; i++) a[i][0] = a[i][n+1] = -1; 
	int x = 1, y = 1, dir = 0, tx, ty, k = 1; 
	while (k<=n*n){
		a[x][y] = k; k = k + 1; 
		tx = x + dx[dir];  ty = y + dy[dir];
		if (a[tx][ty]!=0){
			dir = (dir + 1) % 4;
			tx = x + dx[dir];  ty = y + dy[dir];
		} 
		x = tx; y = ty; 
	}
	for (int i=0; i<=n+1; i++){
		for (int j=0; j<=n+1; j++) printf("%4d",a[i][j]);
		cout<<endl;
	}
	return 0;
}

老师给的怪东西awa

2023/11/13 13:15
加载中...