编译错误

P2385 [USACO07FEB] Bronze Lilypad Pond B

Chtholly_is_cute @ 2024-12-21 15:41:01

code:

#include<bits/stdc++.h>
using namespace std;
const int N=35;
int a[N][N],vis[N][N];
int dx[9],dy[9];
int m,n,m1,m2;
struct move{int x,y,step;};
queue<move>q;
int main(){
    cin>>m>>n>>m1>>m2;
    int sx,sy,ex,ey;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            cin>>a[i][j];
            if(a[i][j]==3)sx=i,sy=j;
            if(a[i][j]==4)ex=i,ey=j;
        }
    }
    dx[1]=a,dy[1]=b;
        dx[2]=a,dy[2]=-b;
        dx[3]=-a,dy[3]=b;
        dx[4]=-a,dy[4]=-b;
        dx[5]=b,dy[5]=a;
        dx[6]=b,dy[6]=-a;
        dx[7]=-b,dy[7]=a;
        dx[8]=-b,dy[8]=-a;
    move x={sx,sy,0};
    vis[sx][sy]=1;
    q.push(x);
    while(!q.empty()){
        x=q.front();
        if(x.x==ex&&x.y==ey){
            cout<<x.step;
            return 0;
        }
        q.pop();
        for(int i=1;i<=8;i++){
            int xx=x.x+dx[i],yy=x.y+dy[i];
            if(xx<1||xx>m||yy<1||yy>n)continue;
            if(vis[xx][yy]==1||a[xx][yy]==0||a[xx][yy]==2)continue;
            x={xx,yy,x.step+1};
            q.push(x);
            vis[xx][yy]=1;
        }
    }
}

by Bai_R_X @ 2024-12-21 15:45:54

两个问题, 第一:move结构体与std::move重名,修改即可 第二:那些ab是什么,a[1][1]什么的吗?还是sxsyexey?改一下。


|