codevs 2038 香甜的黃油

2021-08-09 14:02:08 字數 1502 閱讀 7377

題目描述 description

農夫john發現做出全威士頓康星州最甜的黃油的方法:糖。把糖放在一片牧場上,他知道n(1<=n<=500)只奶牛會過來舔它,這樣就能做出能賣好價錢的超甜黃油。當然,他將付出額外的費用在奶牛上。

農夫john很狡猾。他知道他可以訓練這些奶牛,讓它們在聽到鈴聲時去乙個特定的牧場。他打算將糖放在那裡然後下午發出鈴聲,以至他可以在晚上擠奶。

農夫john知道每只奶牛都在各自喜歡的牧場呆著(乙個牧場不一定只有一頭牛)。給出各頭牛在的牧場和牧場間的路線,找出使所有牛到達的路程和最短的牧場(他將把糖放在那)。

輸入描述 input description

第一行: 三個數:奶牛數n,牧場數p(2<=p<=800),牧場間道路數c(1<=c<=1450).

第二行到第n+1行: 1到n頭奶牛所在的牧場號.

第n+2行到第n+c+1行: 每行有三個數:相連的牧場a、b,兩牧場間距(1<=d<=255),當然,連線是雙向的.

輸出描述 output description

一行 輸出奶牛必須行走的最小的距離和.

樣例輸入 sample input

3 4 5

2 3

4 1 2 1

1 3 5

2 3 7

2 4 3

3 4 5

樣例圖形

p2 p1 @–1–@ c1

\ |\

\ | \

5 7 3

\ | \

| \ c3

c2 @–5–@

p3 p4

樣例輸出 sample output 8

資料範圍及提示 data size & hint

見描述【2017.10.20考試t3】

floyd在codevs上可以過233.但是本地會超時。

陣列開到800以上

floyd:

#include

#include

#include

#include

using

namespace

std;

const

int maxn=500+1;

int a[maxn][maxn],s[maxn],d[maxn];

int n,p,m,ans;

int main()

for(int i=1;i<=p;i++)

a[i][i]=0;

for(int k=1;k<=p;k++)

for(int i=1;i<=p;i++)

for(int j=1;j<=p;j++)

for(int j=1;j<=p;j++)

for(int i=1;i<=n;i++)

for(int j=1;j<=p;j++)

printf("%d\n",ans);

return

0;}

spfa

香甜的黃油

農夫john發現做出全威士頓康星州最甜的黃油的方法 糖。把糖放在一片牧場上,他知道n 1 n 500 只奶牛會過來舔它,這樣就能做出能賣好價錢的超甜黃油。當然,他將付出額外的費用在奶牛上。農夫john很狡猾。像以前的巴甫洛夫,他知道他可以訓練這些奶牛,讓它們在聽到鈴聲時去乙個特定的牧場。他打算將糖放...

XYNU 香甜的黃油

偶係渣渣輝.蛤蛤蛤.今天集訓滴第二次比賽.過程有點刺.刺.刺激.qaq我們經歷了第三第四第五第七又爬回第三滴痛苦滴趕腳.還經歷了最後剩的題壓根不會寫 但是排名還不算考後的絕望 隊友說 你要是排名靠後又都不會寫那才是最絕望的 過程很坎坷,所幸結局還是闊以滴 就是對題目的理解程度還是很低 個人認為見得題...

Sweet Butter 香甜的黃油

題目大意 m個點,n頭奶牛,p條邊,每一頭奶牛在乙個點上,乙個點可以有多隻奶牛,求這樣乙個點,使得所有奶牛到這個點的距離之和最小。注釋 n 500 m 800 p 1450 連邊的牧場之間的距離d 255 想法 顯然,這是乙個最短路問題,有兩種途徑 1.跑多源最短路。2.跑m遍單源最短路。第1種想法...