題目地址:http://poj.org/problem?id=2391
這個題WA了一晚上,原因是數組開小了,然後又TLE了一天,原因是數組改的過大了。。。。不多說什麼了。。。
思路不難,建圖也不難,二分時間,然後把每個田地之間的最短距離用floyd最短路求出來。然後建立一個源點與匯點,將田地拆分成兩個點,在距離之內的進行連邊,要單向連邊。然後將源點與田地相連,權值為每個田地的牛的數目,再把另一邊的田地與匯點相連,權值為每個田地最大可避雨的牛的數目。拆開的田地之間權值可以為無窮大。
代碼如下:
#include
#include
#include
#include
#include
#include
#include
#include