2 条题解

  • 0
    @ 2025-12-23 13:17:11

    #include <bits/stdc++.h> using namespace std; bool vis[10][10]; int n,m,x,y,s,t; int dx[8]={2,1,-2,-1,2,1,-2,-1}; int dy[8]={1,2,1,2,-1,-2,-1,-2}; int mi=INT_MAX; void dfs(int x,int y,int st){ if(xs&&yt){ mi=min(mi,st); return ; } for(int i=0;i<8;i++){ int nx=x+dx[i]; int ny=y+dy[i]; if(nx<1||nx>n||ny<1||ny>m) continue; if(vis[nx][ny]==1) continue; vis[nx][ny]=1; dfs(nx,ny,st+1); vis[nx][ny]=0; } } int main(){ cin>>n>>m>>x>>y>>s>>t; vis[x][y]=1; dfs(x,y,0); cout<<mi; return 0; }

    信息

    ID
    503
    时间
    1000ms
    内存
    128MiB
    难度
    5
    标签
    (无)
    递交数
    158
    已通过
    56
    上传者