#include#include#includeusing namespace std;
/*dijkstra o(n^2+m) +o(n)
求出s->d的所有最短路,統計數目,統計權值和
輸出最短路數目和最大權值和即可
兩種寫法,鄰接矩陣\鄰接表
*/const int n=510;
int g[n][n],w[n],dis[n];;//路徑長度和權值
int cnt[n];//最短路的條數
bool st[n];//每個點的最短路是否已經確定。
int n,m,s,d,sum[n];
int pre[n];//記錄每個節點的前驅
void dfs(int s,int d)//列印從s->d的路徑
for(int j=0;jdis[t]+g[t][j])
else if(dis[j]==dis[t]+g[t][j])
for(int i=0;i>a>>b>>c;
g[a][b]=g[b][a]=min(g[a][b],c);
} dijkstra(s,d);
return 0;
}
L2 001 緊急救援
這道題就是一道最短路 dijkstra演算法 將模板稍作修改就行了,就是再另外加乙個記錄路線條數的陣列 即當路的長度與下乙個需要判斷的 節點的長度相等時路線就相加 和乙個記錄每個節點在最短路基礎上的車的總數量的陣列,然後就ok了,如下 include include include define m...
L2 001 緊急救援
作為乙個城市的應急救援隊伍的負責人,你有一張特殊的全國地圖。在地圖上顯示有多個分散的城市和一些連線城市的快速道路。每個城市的救援隊數量和每一條連線兩個城市的快速道路長度都標在地圖上。當其他城市有緊急求助 給你的時候,你的任務是帶領你的救援隊盡快趕往事發地,同時,一路上召集盡可能多的救援隊。輸入格式 ...
L2 001 緊急救援
l2 001.緊急救援 作為乙個城市的應急救援隊伍的負責人,你有一張特殊的全國地圖。在地圖上顯示有多個分散的城市和一些連線城市的快速道路。每個城市的救援隊數量和每一條連線兩個城市的快速道路長度都標在地圖上。當其他城市有緊急求助 給你的時候,你的任務是帶領你的救援隊盡快趕往事發地,同時,一路上召集盡可...