Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
39734 | qwertyuiop | 爱睡觉的猫(cat)(2024岳阳市赛小学组) | C++ | 通过 | 1 MS | 908 KB | 848 | 2024-05-05 13:47:44 |
#include<bits/stdc++.h> using namespace std; int n,m,a,s[105][105]; int dx[10]={1,0,-1,0},dy[10]={0,-1,0,1}; int fx,fy; void dfs(int x){ s[fx][fy]=x; fx+=dx[a]; fy+=dy[a]; if(s[fx/*+dx[a]*/][fy/*+dy[a]*/]==0&&fx>0&&fx<=n&&fy>0&&fy<=n){ a=a; dfs(x-1); } else{ fx-=dx[a]; fy-=dy[a]; } for(int i=0;i<4;i++){ fx+=dx[i]; fy+=dy[i]; if(s[fx/*+dx[i]*/][fy/*+dy[i]*/]==0&&fx>0&&fx<=n&&fy>0&&fy<=n){ a=i; dfs(x-1); return ; } else{ fx-=dx[i]; fy-=dy[i]; } } } int main(){ //freopen("cat.in","r",stdin); //freopen("cat.out","w",stdout); cin>>n;/**/ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ s[i][j]=0; } } fx=1; fy=n; m=n; dfs(n*n); for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cout<<s[i][j]<<' '; } cout<<"\n"; } return 0; }