Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
180710 欧阳雨泽 骑士遍历1 C++ 解答错误 1 0 MS 256 KB 497 2024-08-21 17:26:41

Tests(1/55):


#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; }


测评信息: