Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
178072 | 陈道宁 | 骑士遍历2 | C++ | 解答错误 | 0 | 42 MS | 236 KB | 620 | 2024-08-21 11:16:22 |
#include<bits/stdc++.h> using namespace std; int a[15][15]; int d[8][2]={-1,2,-2,1,-2,-1,-1,-2,1,-2,2,-1,2,1,1,2}; void dfs(int s,int n,int x,int y){ if(n==s*s+1){ for(int i=1;i<=s;i++){ for(int j=1;j<=s;j++){ cout<<a[i][j]<<" "; } cout<<endl; } exit(0); } for(int i=0;i<8;i++){ if(((x+d[i][0])<=s)&&((x+d[i][0])>0)&&((y+d[i][1])<=s)&&((y+d[i][1])>0)){ if(a[x+d[i][0]][y+d[i][1]]==0){ a[x+d[i][0]][y+d[i][1]]=n; dfs(s,n+1,x+d[i][0],y+d[i][1]); a[x+d[i][0]][y+d[i][1]]=0; } } } } int main(){ int n,x,y; cin>>n>>x>>y; a[x][y]=1; dfs(n,2,x,y); }