好氣,最後4分怎麼也得不上,還沒找出bug,此**還不完全正確,明天再找,好長時間不打感覺好生疏。
思路關鍵在求最短路徑的條數,一般我是跑兩遍bfs來做。感覺通俗一些。
-----越寫越醜-----
1 #include 2 #include 3 #include 4 #include 5 #include 6using
namespace
std;
7const
int maxn = 505;8
const
int inf = 0x3f3f3f3f;9
intw[maxn];
10int
g[maxn][maxn];
11int
vis[maxn];
12int
dis[maxn];
13int pre[maxn]; //
父親節點
14int cnt[maxn]; //
路徑數量
15int sum[maxn]; //
救援隊數量
16int
n,m,s,d;
1718
void bfs1(int
s)19
40else
if(dis[i]==dis[cur]+g[cur][i])
4145}46
}47}48
}49void bfs2(int
d)50
72if(vis[i]) continue
;73 vis[i] = 1;74
q.push(i);75}
76}77}
78}7980
void printpath(int
s)81
88int
main()
8999
for(int i=0;i)
100108
bfs1(s);
109bfs2(d);
110 printf("
%d %d\n
",cnt[s],sum[s]);
111printpath(s);
112 printf("\n"
);113
return0;
114}
115/*
1162 1 1 0
11710 20
1180 1 1
119*/
PAT 天梯賽 L2 001 緊急救援
時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越作為乙個城市的應急救援隊伍的負責人,你有一張特殊的全國地圖。在地圖上顯示有多個分散的城市和一些連線城市的快速道路。每個城市的救援隊數量和每一條連線兩個城市的快速道路長度都標在地圖上。當...
團體程式設計天梯賽 L2 001 緊急救援
作為乙個城市的應急救援隊伍的負責人,你有一張特殊的全國地圖。在地圖上顯示有多個分散的城市和一些連線城市的快速道路。每個城市的救援隊數量和每一條連線兩個城市的快速道路長度都標在地圖上。當其他城市有緊急求助 給你的時候,你的任務是帶領你的救援隊盡快趕往事發地,同時,一路上召集盡可能多的救援隊。輸入第一行...
天梯賽L2 001 緊急救援 25 分
題目中已經明確要求最短路,因此最短路演算法也就不可或缺 int map 500 500 int u,v,w for int i 0 i m i struct nodearr 500 int u,v,w for int i 0 i m i struct edgearr 500 用於記載每一條邊 int...