文章

14

粉丝

49

获赞

0

访问

2.3k

头像
1563 迷宫 const
我要提问
发布于2024年3月1日 18:48
阅读数 166

为什么第六行必须要用const定义?

 

//将结构体作为队列的元素
//广度优先搜索
#include<bits/stdc++.h>
using namespace std;

const int maxn=100+5;
char M[maxn][maxn];//迷宫,不能用map作为变量名称
int vis[maxn][maxn];//访问数组
int dir[4][2]={-1,0,1,0,0,-1,0,1};//四个方向的坐标变化

struct node{
    int x;
    int y;
    int step;//小A抵达该位置所需要的最少移动步数/秒数
};

int BFS(int sx,int sy){//sx和sy分别为小A所在的行坐标和列坐标
    memset(vis,0,sizeof(vis));
    queue<node> q;
    q.push(node{sx,sy,0});
    vis[sx][sy]=1;
    int ans=-1;
    while(!q.empty()){
        node temp=q.front();
        q.pop();
        if(M[temp.x][temp.y]=='E'){//先判断是否抵达出口
            ans=temp.step;
            return ans;
...

登录查看完整内容


登录后发布评论

3 条评论
snake VIP
2024年3月1日 19:06

加const是把变量限定为常量,

const int maxn=100+5;

这样maxn的值就不能在其他地方修改了

赞(0)

yanmo : 回复 snake: 蟹蟹,不加const只定义为变量为什么不行啊?

2024年3月1日 19:47

snake : 回复 yanmo: 数组定义的语法规则,数组大小不能是变量

2024年3月1日 20:05