存錢計畫(三)

2021-05-28 06:29:27 字數 1396 閱讀 4017

description

tzc的店鋪比較多,上次wy隨便走只要能走到就行,現在他學聰明了。wy去買東西的話,確定一家店以後,當然他先要想想怎麼樣走到那家店走的路最少。店與店之間是有走的方向的,從店a到店b可以,店b到店a未必可以。店與店之間是有一定距離的。

上面就是路線,為方便起見,店鋪都用數字表示,0表示wy的起點,店與店之間以及起點與店距離用d表示。wy從0開始到4店鋪  那麼最短路線為0-->3-->2-->4  總長為 60。

如果從0店鋪開始到1店鋪最短路線只有0-->1  總長 10。

當然也有可能沒有路的情況。

input

輸入有多組測試資料。

每組資料的第一行為整數n(n<=10),表示店鋪總數。所有店鋪的編號為0~n-1。

接下來有若干行,每行為3個整數

a b t 

表示a編號的店鋪走向b編號的店鋪之間的一條路徑,長度為t。0<=a,b

當a b t的值為0 0 0 表示店鋪之間的路徑輸入完畢,不做任何處理。

最後一行輸入店鋪的編號k(k

輸入n為0時表示結束程式。

output

輸出從店鋪0到k店鋪的最短路線的長度。如果沒有路的話,輸出 no way!

sample input

5

0 1 10

0 3 30

0 4 100

1 2 50

2 4 10

3 2 20

3 4 60

0 0 045

0 1 10

2 0 50

0 3 10

0 0 020

sample output

60

no way!

hint

簡單最短路徑問題

¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥

#include

#include

#include

using namespace std;

int map[500][500];

#define nn 100000000

int main()

}for(i=0;imap[i][i]=0;

while(scanf("%d%d%d",&m,&n,&w))

/*for(i=0;i

printf("\n");

}*/for(w=0;wfor(i=0;ifor(j=0;j

scanf("%d",&w);

if(map[0][w]printf("%d\n",map[0][w]);

else

printf("no way!\n");

}return 0;}

小明的存錢計畫

時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 小明的零花錢一直都是自己管理。每個月的月初媽媽給小明300元錢,小明會預算這個月的花銷,並且總能做到實際花銷和預算的相同。為了讓小明學習如何儲蓄,媽媽提出,小明可以隨時把整百的錢存在她那裡,到了年末她會加上20 還給小明。因此小...

小明的存錢計畫

小明的存錢計畫 時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 小明的零花錢一直都是自己管理。每個月的月初媽媽給小明300元錢,小明會預算這個月的花銷,並且總能做到實際花銷和預算的相同。為了讓小明學習如何儲蓄,媽媽提出,小明可以隨時把整百的錢存在她那裡,到了年末她會加上20 ...

小明的存錢計畫

時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 小明的零花錢一直都是自己管理。每個月的月初媽媽給小明300元錢,小明會預算這個月的花銷,並且總能做到實際花銷和預算的相同。為了讓小明學習如何儲蓄,媽媽提出,小明可以隨時把整百的錢存在她那裡,到了年末她會加上20 還給小明。因此小...