题目地址:http://poj.org/problem?id=2391
这个题WA了一晚上,原因是数组开小了,然后又TLE了一天,原因是数组改的过大了。。。。不多说什么了。。。
思路不难,建图也不难,二分时间,然后把每个田地之间的最短距离用floyd最短路求出来。然后建立一个源点与汇点,将田地拆分成两个点,在距离之内的进行连边,要单向连边。然后将源点与田地相连,权值为每个田地的牛的数目,再把另一边的田地与汇点相连,权值为每个田地最大可避雨的牛的数目。拆开的田地之间权值可以为无穷大。
代码如下:
#include
#include
#include
#include
#include
#include
#include
#include