大佬能帮帮我看看这代码为啥会编译失败(BFS)
查看原帖
大佬能帮帮我看看这代码为啥会编译失败(BFS)
1147352
zhou430502楼主2024/8/7 20:43
#include<bits/stdc++.h>
using namespace std;
int n,m,x1[8]={1,1,2,2,-1,-1,-2,-2},y1[8]={2,-2,1,-1,2,-2,1,-1},b[402][402]={0},x,y,sum,o=1;
bool a[402][402];
queue<int> x2,y2,sum1;
int main()
{
    cin>>n>>m>>x>>y;
    memset(a,true,sizeof(a));
    x2.push(x);
    y2.push(y);
    sum1.push(1);
    b[x][y]=1;
    a[x][y]=false;
    while(o!=0)
    {
        x=x2.front();
        y=y2.front();
        sum=sum1.front();
        for(int i=0;i<=7;i++)
        {
            if((x+x1[i])>=1&&(y+y1[i])>=1&&(x+x1[i])<=n&&(y+y1[i])<=m&&a[x+x1[i]][y+y1[i]]==true)
            {
                b[x+x1[i]][y+y1[i]]=sum+1;
                a[x+x1[i]][y+y1[i]]=false;
                x2.push(x+x1[i]);
                y2.push(y+y1[i]);
                sum1.push(sum+1);
                o++;
            }
        }
        x2.pop();
        y2.pop();
        sum1.pop();
        o--;
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            printf("%d ",b[i][j]-1);
        }
        printf("\n");
    }
    return 0;
}
# ```
  蟹蟹惹
2024/8/7 20:43
加载中...