用$C++$吧
by wxy_god @ 2019-01-22 20:20:09
DEVCPP用户表示看不懂
by AFO蒟蒻选手 @ 2019-01-22 20:49:32
#### c++代码
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,m,x,y,a[402][402],c[10]={0,1,2,2,1,-1,-2,-2,-1},d[10]={0,2,1,-1,-2,2,1,-1,-2};
void dfs(int x,int y,int t)
{
for(int i=1;i<=8;i++)
{
if(t>300)return ;
int xx=x+c[i];
int yy=y+d[i];
if(xx>=1&&xx<=n&&yy>=1&&yy<=m&&(a[xx][yy]>t||a[xx][yy]==-1)){a[xx][yy]=t;dfs(xx,yy,t+1);}
}
}
int main()
{
// freopen("horse.in","r",stdin);
// freopen("horse.out","w",stdout);
cin>>n>>m>>x>>y;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
a[i][j]=-1;
a[x][y]=0;
dfs(x,y,1);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++)
printf("%-5d",a[i][j]);
cout<<endl;
}
return 0;
}
```
by AFO蒟蒻选手 @ 2019-01-22 20:50:55
思路一样
by AFO蒟蒻选手 @ 2019-01-22 20:51:10