【bzoj1066 蜥蜴】

题目描述:

  在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外。 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴可以跳到平面距离不超过d的任何一个石柱上。石柱都不稳定,每次当蜥蜴跳跃时,所离开的石柱高度减1(如果仍然落在地图内部,则到达的石柱高度不变),如果该石柱原来高度为1,则蜥蜴离开后消失。以后其他蜥蜴不能落脚。任何时刻不能有两只蜥蜴在同一个石柱上。现给定地图与初始状态,请你求出不能逃离的蜥蜴总数的最小值。

数据范围:

  1<=r, c<=20, 1<=d<=4

题解:

  每个石柱只能用h次,所以拆点连边为h,然后每个节点,S向有蜥蜴的的石柱连边为1,每个点向能到的点连边inf,然后如果越界,向T连inf。(inf表示这个点可以随意蜥蜴经过不像石柱只能让h只蜥蜴经过)

posted @ 2017-12-04 22:31  LittleOrange  阅读(168)  评论(0编辑  收藏  举报