小行星
题目
贝西想以N x N网格(1 <= N <= 500)的形状在危险的小行星场中导航她的飞船。网格包含K个小行星(1 <= K <= 10,000),它们方便地位于网格的晶格点处。
幸运的是,贝茜拥有强大的武器,可以一击就蒸发掉网格中任何给定行或列中的所有小行星,这种武器非常昂贵,因此她希望谨慎使用。字段中,找到贝西需要射击以消除所有小行星的最小射击次数。
输入
第1行:两个整数N和K,以单个空格分隔。
第2…K + 1行:每行包含两个空格分隔的整数R和C(1 <= R,C <= N),分别表示小行星的行和列坐标。
输出
第1行:整数,表示Bessie必须拍摄的最小次数。
输入样例
3 4
1 1
1 3
2 2
3 2
输出样例
2
输入详细信息
下图表示数据,其中“ X”是小行星,“。”。是空白空间:
X 。 X
。 X 。
。 X 。
输出详细信息
Bessie可以越过第1行射击以摧毁(1,1)(1,1)(1,1)和(1,3)(1,3)(1,3)处的小行星,然后她可以击落第2列以摧毁(2,2)(2,2)(2,2)和

在N x N的网格中,贝西需要通过最少的射击次数消除所有位于晶格点上的K个小行星。每颗小行星可以通过消除其所在行或列来移除。问题是找出最小的射击次数。这是一个最大匹配问题,可以转换为二分图并寻找最大匹配来解决。
最低0.47元/天 解锁文章
3670

被折叠的 条评论
为什么被折叠?



