欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

D題

生成樹(shù)

https://ac.nowcoder.com/acm/contest/6607/A

**bfs加優(yōu)先隊(duì)列 優(yōu)先隊(duì)列自動(dòng)從小到大 這樣找到出口,自然是最小值**
#pragma GCC optimze(2);
#include"bits/stdc++.h"
using namespace std;
int n,m;
int a[50][50];
int visit[50][50];
int p[]={0,0,-1,1};
int q[]={-1,1,0,0};
int bx,by,ex,ey;
struct node{
    int x;
    int y;
    int sum;
    friend bool operator < (const node &a,const node b){
        return a.sum>b.sum;
    }
};
priority_queue<node>v;
int main(){
    std::ios::sync_with_stdio(false);
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            char c;
            cin>>c;
            if(c>='1'&&c<='9')
            a[i][j]=c-'0';
            if(c=='A'||c=='B'||c=='C')
            a[i][j]=100;
            if(c=='S'){
                bx=i;
                by=j;
            }
            if(c=='E'){
                ex=i;
                ey=j;
            }
        }
    }
    v.push(node{bx,by,0});
    while(!v.empty()){
        node top=v.top();
        v.pop();
        if(top.x==ex&&top.y==ey){
            cout<<top.sum<<endl;
            return 0;
        }
        for(int i=0;i<4;i++){
            int dx=top.x+p[i];
            int dy=top.y+q[i];
            if(dx>=1&&dx<=n&&dy>=1&&dy<=m&&!visit[dx][dy]){
                visit[top.x][top.y]=1;
                v.push(node{dx,dy,top.sum+a[dx][dy]});
            }
        }
    }
    return 0;
}
全部評(píng)論

相關(guān)推薦

點(diǎn)贊 評(píng)論 收藏
分享
評(píng)論
點(diǎn)贊
收藏
分享

創(chuàng)作者周榜

更多
??途W(wǎng)
牛客企業(yè)服務(wù)