思路最短路+dfs路徑回溯,不難,但是我又被卡了,沒看出來最短距離相等時,路徑數應該是兩者相加(我記得我之前做這類的題目的時候也是這裡被卡,我真是豬腦子(* ̄(oo) ̄))。。。寫部落格紀念一下o(╥﹏╥)o
**
#include
#include
#include
#include
#include
#define pii pair
#define inf 0x3f3f3f3f
using
namespace std;
const
int maxn=
1e5+10;
int n,k,tot,be,en,x,pre[
210]
;int c[
210]
;//記錄城鎮的敵人數量
int dis[
210]
,head[
210]
,cnt;
int path[
210]
;//記錄到這個點的最短路徑有幾條
int kill[
210]
;//記錄殺敵數
int city[
210]
;//記錄經過幾個城市
bool vis[
210]
;string s,ss;
mapint>mp;
map<
int,string>mp2;
struct node
edge[maxn]
;void
init()
void
add(
int u,
int v,
int w)
void
dijkstra
(int s));
city[s]=1
;path[s]=1
;kill[s]
=c[s]
;while
(q.size()
));}
else
if(dis[v]
==dis[now]
+edge[i]
.w)else
if(city[v]
==city[now]+1
)}}}
}}void
print
(int p)
else
}int
main()
for(
int i=
1;i<=k;i++
)dijkstra
(be)
;print
(en)
; cout
' '<<<
' '<;return0;
}
L3 011 直搗黃龍 最短路
l3 011 直搗黃龍 30 分 本題是一部戰爭大片 你需要從己方大本營出發,一路攻城略地殺到敵方大本營。首先時間就是生命,所以你必須選擇合適的路徑,以最快的速度占領敵方大本營。當這樣的路徑不唯一時,要求選擇可以沿途解放最多城鎮的路徑。若這樣的路徑也不唯一,則選擇可以有效殺傷最多敵軍的路徑。輸入第一...
L3 011 直搗黃龍(最短路 dfs路徑回溯)
思路最短路 dfs路徑回溯,不難,但是我又被卡了,沒看出來最短距離相等時,路徑數應該是兩者相加 我記得我之前做這類的題目的時候也是這裡被卡,我真是豬腦子 oo 寫部落格紀念一下o o include include include include include define pii pair de...
L3 011 直搗黃龍
本題是一部戰爭大片 你需要從己方大本營出發,一路攻城略地殺到敵方大本營。首先時間就是生命,所以你必須選擇合適的路徑,以最快的速度占領敵方大本營。當這樣的路徑不唯一時,要求選擇可以沿途解放最多城鎮的路徑。若這樣的路徑也不唯一,則選擇可以有效殺傷最多敵軍的路徑。輸入格式 輸入第一行給出2個正整數n 2 ...