Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
180707 sad 骑士遍历1 C++ 通过 100 0 MS 268 KB 602 2024-08-21 17:25:48

Tests(55/55):


#include<bits/stdc++.h> using namespace std; const int N=1e4+10; int da[5]={0,1,2,2,1}; int db[5]={0,-2,-1,1,2}; int rest[N]; bool q; int n,m; void dfs(int a,int b,int k){ if(q){ return; } if(a==n&&b==m){ q=true; for(int i=1;i<k;i++){ printf("%d",rest[i]); cout<<" "; } return; } if((m-b)>2*(n-a)){ return; } int a2,b2; for(int i=1;i<=4;i++){ a2=a+da[i]; b2=b+db[i]; if(!q&&a2>=1&&a2<=n&&b2>=1&&b2<=m){ rest[k]=i; dfs(a2,b2,k+1); } } } int main(){ scanf("%d%d",&n,&m); dfs(1,1,1); if(!q){ printf("-1\n"); } return 0; }


测评信息: