NYIST 1019 G 親戚來了

2022-03-05 21:42:15 字數 1988 閱讀 7965

時間限制:1000 ms  |  記憶體限制:65535 kb

難度:3

描述

bob 一家人要去下館子,為什麼呢?因為他姑姑的大爺的叔叔的孫子的表叔的嬸嬸的兒子來了,親戚來了當然要下館子,可是bob家在偏僻的小山屯,飯店在城裡啊

距離老遠了。。。。。

於是他們決定坐車去,可是家裡面就有一輛車啊,還是個拖拉機。。。。。。

並且,山路不好走啊,不能過超過這條路的載客量,於是不得不再回去一趟。。。。。。

比如,在下面的地圖,假設bob家在1號村莊,飯店在7號村莊,其中一條邊表示給條路上的最大載客量

現在bob要將他的親戚以及家人99人(不包含bob)送到城裡面,選擇的最好路線是1->2->4->7

並且往返5次。。。。。現在我們請你幫忙計算bob將親戚以及家人送到城鎮裡面所用的最少往返次數。。。

輸入

輸入包含若干組資料,每組資料的第一行有兩個整數n(n<=100)和r,分別表示村莊的數量,和道路的數量,接下來的r行每行有三個整數

u,v,w;表示u號村莊到v號村莊有一條路以及這條路的最大載客量為w,

隨後的一行三個數x,y,d,表示bob的家在x號村莊,飯店在y號村莊以及bob和他親戚的總人數

輸出

輸出最少的往返的次數,如果到達不了請輸出-1;

樣例輸入

7 10

1 2 30

1 3 15

1 4 10

2 4 25

2 5 60

3 4 40

3 6 20

4 7 35

5 7 20

6 7 30

1 7 99

樣例輸出

5
上傳者acm_王亞龍

解題:試了幾種姿勢,發現求最短路比較好,不過要注意起點等於終點這種坑爹情況。

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 

11 #include

12 #include 13

#define ll long long

14#define pii pair15

#define inf 0x3f3f3f3f

16using

namespace

std;

17const

int maxn = 110;18

struct

arc25

};26 arc e[maxn*maxn];

27int

head[maxn],tot,n,m,s,t,d[maxn];

28bool

done[maxn];

29void add(int u,int v,int

cost)

33void

dijkstra()

38 priority_queue< pii,vector< pii >,less< pii > >q;

39 d[s] =inf;

40q.push(make_pair(d[s],s));

41while(!q.empty())51}

52}53}

54int

main()

63 scanf("

%d %d %d

",&s,&t,&w);

64if(s ==t)

68dijkstra();

69if(d[t] <= 1) puts("-1"

);70

else74}

75return0;

76 }

view code

nyist 組隊賽(三)

本次比賽是浙江省賽的題,做了5 道題感覺水平有點次啊,讓我感到差距太大,自己需要學的知識好有很多 比賽前10分鐘我來晚了隊友等著我讀題,當我來的時候,當時別人已經把a題給a出來了,a題就是乙個大水題,1分鐘讀題 2分鐘 接著就是c題2分鐘讀題 n分鐘思考 2分鐘 n 20 也是乙個水題,接著g題,模...

nyist 組隊賽(四)

本次已是第四次組隊賽了,感覺狀態不太好,隊友之間配合的不是那麼默契,a,b,c,g,f,h題都是比較水的題目,不過在做題的過程中 總是讓人感覺出乎意外,第一題即wa了一次,緊接著第二題wa了3次,英文水平還是太差啊,需惡補一下,就因為前兩題的判斷失誤,導致f題這麼水 的題,都不敢輕易地寫 比人家慢了...

nyist 小光棍數

描述 最近topcoder的xd遇到了乙個難題,倘若乙個數的三次方的後三位是111,他把這樣的數稱為小光棍數。他已經知道了第乙個小光棍數是471,471的三次方是104487111,現在他想知道第m m 10000000000 個小光棍數是多少?輸入 有多組測試資料。第一行乙個整數n,表示有n組測試...