【最大匹配】小行星

在N x N的网格中,贝西需要通过最少的射击次数消除所有位于晶格点上的K个小行星。每颗小行星可以通过消除其所在行或列来移除。问题是找出最小的射击次数。这是一个最大匹配问题,可以转换为二分图并寻找最大匹配来解决。
摘要由CSDN通过智能技术生成

小行星

题目

贝西想以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列以摧毁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值