题意
一个矩形中,有n个城市’*’,现在这n个城市都要覆盖无线,若放置一个基站,那么它至多可以覆盖相邻的两个城市。 问至少放置多少个基站才能使得所有的城市都覆盖无线?
分析
每一个城市都需要被一个基站覆盖,而一个基站最多覆盖两个城市。为了使基站的数量最少,我们可以考虑让尽可能多的基站覆盖两个城市。设最多能让a个基站覆盖两个城市,则一共需要 n-a个基站。问题转化为求这个a。这种覆盖方式是不是似曾相识?对了,就是二分图!对于每个矩阵中的点(i,j),若(i+j)&1 == 1 ,则涂成黑色,反之涂成白色。这样一来,对于每个矩阵中相邻的点,都是黑白形式,也就是说,都是涂成黑色的点连向涂成白色的点。到这一步,恭喜您成功获得二分图模型,这不就是求二分图的最大配对吗?不会二分图的请移步模板。
CODE
#include
#include
#include
#include<string>
#include
#include
#include
#include