題目描述
今天lzy攻城小分隊出動了,他們需要在盡可能短的時間內攻占敵人的大本營。戰場是乙個n * m的二維網格,lzy小分隊初始在(0,0)點,敵軍大本營在( n -1 ,m - 1)點
每個點上有乙個對應的數字代表lzy小分隊攻占這個據點需要耗費的時間,現在作為lzy小分隊的指揮官,你需要指定一條合適的路線,使lzy小分隊能用最短的時間攻占敵人大本營。
輸入測試樣例由多組測試資料組成。每組測試資料第一行輸入兩個正整數n , m ( 1 <= n,m <= 100)
接下來輸入n * m 個數字 ,每個數字不超過 500
輸出輸出lzy小分隊攻占敵人大本營所需要的最短時間
樣例輸入 copy
3 31 2 3
1 2 3
1 2 3
樣例輸出 copy
8思路:用bfs找路存在優先佇列裡,每次第一次計算 都是算 最小的值,之後只要找到因為無論如何,都是可以到n,m的 所以只要到n,m直接輸出 那就是最少的時間了;```
#includeusing namespace std;
struct s;
struct q1
};priority_queue,q1>q;
int a[105][105],b[105][105],n,m;
int fx[5][2]=,,,};
int bfs());}}
}return -1;
}int main()
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++) scanf("%d",&a[i][j]);
q.push();
int ans=0;
ans=bfs();
cout<}
return 0;
}
YYOJ 攻城掠地
題目描述 今天lzy攻城小分隊出動了,他們需要在盡可能短的時間內攻占敵人的大本營。戰場是乙個n m的二維網格,lzy小分隊初始在 0,0 點,敵軍大本營在 n 1 m 1 點 每個點上有乙個對應的數字代表lzy小分隊攻占這個據點需要耗費的時間,現在作為lzy小分隊的指揮官,你需要指定一條合適的路線,...
優先佇列 BFS
hdu 5433 xiao ming climbing 這題就是優先佇列 bfs 但是一直wa 原因是在搜尋時標記的位置有問題。以前都沒有出現過這種情況 另外就是雖然找過這點的座標 先前到過這個點 但是鬥志值可能不一樣 題目中要求只要不為0就可以,也就是說到這個點的體力消耗可能會不一樣,要取最小的那...
BFS 優先佇列
湘潭大學2018 小明來到乙個由n x m個格仔組成的迷宮,有些格仔是陷阱,用 表示,小明進入陷阱就會死亡,表示沒有陷阱。小明所在的位置用 s 表示,目的地用 t 表示。小明只能向上下左右相鄰的格仔移動,每移動一次花費1秒。有q個單向傳送陣,每個傳送陣各有乙個入口和乙個出口,入口和出口都在迷宮的格仔...