Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
180710 | 欧阳雨泽 | 骑士遍历1 | C++ | 解答错误 | 1 | 0 MS | 256 KB | 497 | 2024-08-21 17:26:41 |
#include<bits/stdc++.h> using namespace std; long long n,m,len,dx[4]={1,2,2,1},dy[4]={-2,-1,1,2},t[10001]; void dfs(int x,int y){ if(x==n&&y==m){ for(int i=1;i<=len;i++)cout<<t[i]<<' '; exit(0); }else{ for(int i=0;i<4;i++){ int xx=x+dx[i],yy=y+dy[i]; if((n-xx)*2<m-yy)continue; if(xx>=1&&xx<=n&&yy>=1&&yy<=m){ t[len+1]=i+1; len++; dfs(xx,yy); t[len-1]=0; len--; } } } } int main(){ cin>>n>>m; dfs(1,1); cout<<-1; return 0; }