Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
180499 A班陈旻霄 骑士遍历1 C++ 解答错误 10 0 MS 844 KB 686 2024-08-21 14:51:22

Tests(6/55):


#include<bits/stdc++.h> using namespace std; const int N=1e6+5; int dx[]={1,2,2,1}; int dy[]={-2,-1,1,2}; int n,m,a[N]; bool vis[10005][10005]; bool check(int x,int y) { return x>=1&&x<=n&&y>=1&&y<=m&&!vis[x][y]; } void dfs(int x,int y,int step) { if(x==n&&y==m) { for(int i=1;i<step;i++) cout<<a[i]<<' '; exit(0); } for(int i=0;i<4;i++) { int nx=x+dx[i],ny=y+dy[i]; if(check(nx,ny)) { a[step]=i+1; // cout<<nx<<' '<<ny<<' '<<endl; // for(int i=1;i<=step;i++) cout<<a[i]<<' '; // cout<<endl; // cout<<endl; vis[nx][ny]=1; dfs(nx,ny,step+1); } } } int main() { cin>>n>>m; vis[1][1]=1; dfs(1,1,1); return 0; }


测评信息: