題目鏈結
題目大意:
乙個圖上,有m條邊,z個出發點,y個終止點。求一條最短路,其中起點是z中的任意一點,終點是y中任意一點。
思路:最短路問題,可以用dijkstra或者spfa來做,這裡我用的dijstara。
這道題的頂點並不是嚴格按照1-n來編序的,數目也並不為n,可以自己找到頂點最大值作為上限,也可以直接用題中給定的資料範圍(1=<(a,b)<=1000)1000作為上限。
注意:有重邊,並且重邊的值並不一定相同,所以要儲存每條邊的最小邊權。
錯誤點:多源點用for列舉每個源點時並計算一直執行錯誤。
改正:將所有的源點與頂點0相連(邊權為0),以0為源點,將多源點變為單源點。
**:
#include#include#includeusing namespace std;
#define ll long long
#define inf 0x3f3f3f3f
const int maxn=1100;
int k[maxn][maxn];
int dis[maxn];
int biao[maxn],stop[maxn];
void init(int n)
biao[0]=1;
}void dijstra(int n)}}
return ;
}int main()
for(int i=0; ifor(int i=0; iscanf("%d",&stop[i]);
int minn=inf;
init(maxx); //初始化
dijstra(maxx);
for(int j=0; jif(dis[stop[j]]minn=dis[stop[j]];
printf("%d\n",minn);
}}
乙個人的旅行(最短路)
problem description input 輸入資料有多組,每組的第一行是三個整數t,s和d,表示有t條路,和草兒家相鄰的城市的有s個,草兒想去的地方有d個 接著有t行,每行有三個整數a,b,time,表示a,b城市之間的車程是time小時 1 a,b 1000 a,b 之間可能有多條路 接...
乙個人旅行
乙個人旅行計畫正式啟動啦 一直想乙個人好好的出去走走轉轉.然後把遇到的看到的記錄下來,成為回憶.但是一直沒有鼓起勇氣或者說沒有找到好的藉口.經過長達四年的準備 嘿嘿,有點誇張 目前各方面已經就緒 2008年12月份 公園瀏覽年票 到位 2009年5月份 確實地說是上周五 2009.05.08 富士相...
乙個人的旅行
又是乙個下雨的夜晚,我獨自做在電腦前,看著窗外的細雨纏綿的下著,是乎及不情願,及不情願離開它的天堂,但它終究還是下來了.就連雨也擺脫比了命運的引力.不過我想,雨還是算幸福的,因為有成千上萬的雨一同降落.或許在降落的過程中,某兩顆雨滴融合在了一起,在滿天飛舞的雨中他們相遇,他們是幸福的,有的雨滴因為太...