开个o2试试?
by tim1103 @ 2020-04-16 21:54:27
@[库里Curry](/user/238000) 检查一下有没有死循环
by 天命之路 @ 2020-04-16 21:54:53
@[库里Curry](/user/238000) 按照理论我的就过了呀:
```cpp
#include<iostream>
#include<queue>
using namespace std;
int ans[410][410],ax[9]={0,-2,-1,1,2,2,1,-1,-2},ay[9]={0,-1,-2,-2,-1,1,2,2,1};
struct dian
{
int xx,yy;
};
dian fuzhi(int x,int y)
{
dian t;
t.xx=x;
t.yy=y;
return t;
}
queue<dian> q;
int main()
{
ios::sync_with_stdio(false);
int x,y,n,m;
cin>>n>>m>>x>>y;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
ans[i][j]=-1;
}
}
q.push(fuzhi(x,y));
ans[x][y]=0;
while(!q.empty())
{
dian s=q.front();
q.pop();
for(int i=1;i<=8;i++)
{
if(ans[s.xx+ax[i]][s.yy+ay[i]]==-1&&s.xx+ax[i]>=1&&s.xx+ax[i]<=n&&s.yy+ay[i]>=1&&s.yy+ay[i]<=m)
{
ans[s.xx+ax[i]][s.yy+ay[i]]=ans[s.xx][s.yy]+1;
q.push(fuzhi(s.xx+ax[i],s.yy+ay[i]));
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
int t=4,x=ans[i][j];
cout<<x;
if(x<0)
{
t--;
}
while(x>=10)
{
t--;
x/=10;
}
for(int i=1;i<=t;i++)
{
cout<<" ";
}
}
cout<<endl;
}
return 0;
}
```
by liqingyang @ 2020-04-16 21:55:12
int bfs 没有返回值?
by 天命之路 @ 2020-04-16 21:56:18
没有返回值貌似会GG的
by xhQYm @ 2020-04-16 21:56:56
@[liqingyang](/user/272088) STL比普通队列慢那么多都过了!!
by 天命之路 @ 2020-04-16 21:58:19
@[天命之路](/user/226435) 嗯嗯,因为我懒~
by liqingyang @ 2020-04-16 21:58:46
@[库里Curry](/user/238000) ```int main(){landingyu AK IOI}```这句话好评!
by liqingyang @ 2020-04-16 22:01:06
@[liqingyang](/user/272088) 那楼主的代码肯定存在问题了(要不然怎么会T )
by 天命之路 @ 2020-04-16 22:01:23
@[liqingyang](/user/272088) 强大的 define
by 天命之路 @ 2020-04-16 22:02:42