Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
180662 黄一航 骑士遍历2 C++ 解答错误 0 61 MS 244 KB 706 2024-08-21 17:14:00

Tests(0/11):


#include<bits/stdc++.h> using namespace std; int n,a,b; bool vis[11][11],f=false; int fx[]={-1,-2,-2,-1,1,2,2,1}; int fy[]={2,1,-1,-2,-2,-1,1,2}; int k[11][11]; bool ifp(int x,int y){ if(x<1||y<1||x>n||y>n) return false; if(vis[x][y]) return false; return true; } void dfs(int x,int y,int step){ k[x][y]=step; vis[x][y]=1; if(step==n*n){ if(!f){ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cout << k[i][j] << " "; } cout << endl; } } f=true; return; } for(int i=0;i<8;i++){ int dx=x+fx[i],dy=y+fy[i]; if(ifp(dx,dy)) dfs(dx,dy,step+1); } vis[x][y]=0; return; } int main(){ cin >> n >> a >> b; dfs(a,b,1); return 0; }


测评信息: