農夫john發現做出全威士頓康星州最甜的黃油的方法:糖。把糖放在一片牧場上,他知道n(1≤n≤500)只奶牛會過來舔它,這樣就能做出能賣好價錢的超甜黃油。當然,他將付出額外的費用在奶牛上。
農夫john很狡猾。像以前的巴甫洛夫,他知道他可以訓練這些奶牛,讓它們在聽到鈴聲時去乙個特定的牧場。他打算將糖放在那裡然後下午發出鈴聲,以至他可以在晚上**。
農夫john知道每只奶牛都在各自喜歡的牧場(乙個牧場不一定只有一頭牛)。給出各頭牛在的牧場和牧場間的路線,找出使所有牛到達的路程和最短的牧場(他將把糖放在那)。
第一行: 三個數:奶牛數n,牧場數p(2≤p≤800),牧場間道路數c(1≤c≤1450)。
第二行到第n+1行: 1到n頭奶牛所在的牧場號。
第n+2行到第n+c+1行:每行有三個數:相連的牧場a、b,兩牧場間距(1≤d≤255),當然,連線是雙向的。
一行 輸出奶牛必須行走的最小的距離和
輸入輸出
3 4 5-2
-3-4
-1 2 1
-1 3 5
-2 3 7
-2 4 3
-3 4 5
8
#include
using
namespace std;
const
int n =
810,m=
3100
;int n,p,c;
int h[n]
, w[m]
, e[m]
, ne[m]
, idx;
int dist[n]
,a[n]
;bool st[n]
;void
add(
int a,
int b,
int c)
intspfa
(int b)}}
}int res=0;
for(
int i=
0;i)return res;
}int
main()
memset
(h,-1,
sizeof h)
;while
(c--
)int maxn=
0x3f3f3f3f
;for
(int i=
1;i<=p;i++
) maxn=
min(maxn,
spfa
(i))
;printf
("%d"
,maxn)
;return0;
}
XYNU 香甜的黃油
偶係渣渣輝.蛤蛤蛤.今天集訓滴第二次比賽.過程有點刺.刺.刺激.qaq我們經歷了第三第四第五第七又爬回第三滴痛苦滴趕腳.還經歷了最後剩的題壓根不會寫 但是排名還不算考後的絕望 隊友說 你要是排名靠後又都不會寫那才是最絕望的 過程很坎坷,所幸結局還是闊以滴 就是對題目的理解程度還是很低 個人認為見得題...
Sweet Butter 香甜的黃油
題目大意 m個點,n頭奶牛,p條邊,每一頭奶牛在乙個點上,乙個點可以有多隻奶牛,求這樣乙個點,使得所有奶牛到這個點的距離之和最小。注釋 n 500 m 800 p 1450 連邊的牧場之間的距離d 255 想法 顯然,這是乙個最短路問題,有兩種途徑 1.跑多源最短路。2.跑m遍單源最短路。第1種想法...
最短路 香甜的黃油
原題鏈結 列舉所有的牧場,每次算出所有點到此牧場的最短路,再累加所有奶牛喜歡的牧場的最短路,比較得出最小值。資料規模對spfa比較友善。include define n 500 10 define m 800 10 using namespace std int ans 1e9 int c,n,m ...