Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
108485 | 江婉儿 | 骑士遍历1 | C++ | 解答错误 | 0 | 0 MS | 252 KB | 739 | 2023-11-03 13:36:36 |
#include<bits/stdc++.h> using namespace std; int x,y,m=1,n=1,k=1; int a[100]; int print() { for(int x=1;x<=k;x++) cout<<a[x]<<" "; return 0; } int dfs(int x,int y) { if(m==x&&n==y) { print(); return 0; } else { if((m+1<=x)&&(n-2>0)) { m+=1; n-=2; k++; a[k]=1; dfs(x,y); a[k]=0; } if((m+2<=x)&&(n-1>0)) { m+=2; n-=1; k++; a[k]=2; dfs(x,y); a[k]=0; } if((m+2<=x)&&(n+1<=y)) { m+=2; n+=1; k++; a[k]=3; dfs(x,y); a[k]=0; } if((m+1<=x)&&(n+2<=y)) { m+=1; n+=2; k++; a[k]=4; dfs(x,y); a[k]=0; } return 0; } cout<<"-1"; } int main() { cin>>x>>y; dfs(x,y); return 0; }