社区讨论

一点好玩的

灌水区参与者 4已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@lowgbv52
此快照首次捕获于
2023/11/13 13:16
2 年前
此快照最后确认于
2023/11/13 16:33
2 年前
查看原帖
CPP
#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

回复

6 条回复,欢迎继续交流。

正在加载回复...