原題鏈結
列舉所有的牧場,每次算出所有點到此牧場的最短路,再累加所有奶牛喜歡的牧場的最短路,比較得出最小值。資料規模對spfa比較友善。
#include#define n 500+10
#define m 800+10
using namespace std;
int ans=1e9;
int c,n,m;
int cow[n],d[m],used[m];
vectorv[m];
vectorval[m];
void spfa(int st)}}
}for(int i=1;i<=c;i++)
cnt+=d[cow[i]];
ans=min(ans,cnt);
}int main()
for(int i=1;i<=n;i++)
spfa(i);
cout
}
香甜的黃油 最短路
香甜的黃油題目 思路 用dijkstra或者spfa求n次最短路,輸出最短的一次即可,不用在意每次是否需要重新放縮,因為一旦能再次縮短,縮短之後的便是最短路,不能再縮短之前的便是最短路 具體 如下 include include include using namespace std const i...
香甜的黃油
農夫john發現做出全威士頓康星州最甜的黃油的方法 糖。把糖放在一片牧場上,他知道n 1 n 500 只奶牛會過來舔它,這樣就能做出能賣好價錢的超甜黃油。當然,他將付出額外的費用在奶牛上。農夫john很狡猾。像以前的巴甫洛夫,他知道他可以訓練這些奶牛,讓它們在聽到鈴聲時去乙個特定的牧場。他打算將糖放...
題解 洛谷P1828 香甜的黃油(最短路)
幾乎是一道模板的最短路問題,但我們為了記錄答案的最小值,可以暴力列舉從1 n作為出發點,記錄下每個牧場有多少頭奶牛,然後求最短路,答案就是1 n號牧場最短路 該牧場奶牛數量之和,不斷取最小值就行。這道題在洛谷上用spfa可以ac,用floyd會tle 3個點,用不加優化dijkstra也許會tle ...