洛谷编译错误怎么办(在devc++和codeblocks上都能运行)
洛谷P1443 马的遍历
我的代码
#include <bits/stdc++.h>
using namespace std;
int n,m,x0,y0;
int dir[8][2]={{-2,1},{-1,2},{1,2},{2,1},{2,-1},{1,-2},{-1,-2},{-2,-1}};
int ans[405][405],vis[405][405];
struct point
{
int x,y,step;
};
queue<point>q;
int main()
{
memset(ans,-1,sizeof ans);
scanf("%d%d%d%d",&n,&m,&x0,&y0);
point a;
a.x=x0;
a.y=y0;
a.step=0;
q.push(a);
ans[x0][y0]=0;
vis[x0][y0]=1;
while(!q.empty())
{
int x=q.front().x;
int y=q.front().y;
for(int i=0;i<=7;i++)
{
int xx=x+dir[i][0];
int yy=y+dir[i][1];
if(xx>=1&&xx<=n&&yy>=1&&yy<=m&&vis[xx][yy]==0)
{
vis[xx][yy]=1;
point b;
b.x=xx;
b.y=yy;
b.step=q.front().step+1;
ans[xx][yy]=b.step;
q.push(b);
}
}
q.pop();
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
printf("%-5d",ans[i][j]);
}
printf("\n");
}
}
输出结果
洛谷编译报错
头一回遇到这种情况,把万能头换了也不好使,我该怎么办啊,QAQ