BFS模板
queue<node> q;
void bfs(){
while(!q.empty())
{
node temp=q.front();
q.pop();
if(完成目標(biāo))
{
記錄;
return;
}
for(int i=0;i<m;i++)//m為方向數(shù)組長(zhǎng)度
{
int xx=temp.x+dx[i];
int yy=temp.y+dy[i];
if(下標(biāo)越界||已被標(biāo)記)
{
continue;
}
mark[xx][yy]=1;
q.push(node{xx,yy});//注意,node{xx,yy}這種形式只適用于C++20及以上版本
}
}
}

浙公網(wǎng)安備 33010602011771號(hào)