最大匹配 小行星

2021-10-02 06:05:34 字數 1262 閱讀 2264

貝西想以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必須拍攝的最小次數。

341

1132

232

下圖表示資料,其中「 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)和(3,

2)

(3,2)

(3,2

)處的小行星。

其實這道題就是最大匹配的模板,把每個行星的的x

xx和y

yy分別列成一行,建二分圖,然後把行星的x

xx和y

yy的座標連起來,在查詢最大匹配即可.

#include

#include

#include

#include

using

namespace std;

int n,k,kk,x,y,head[

100001

],s[

100001

],l[

100001

],ans;

struct node

f[1000001];

intfind

(int t)

}return0;

}int

main()

for(

int i =

1;i <= n;

++i)

printf

("%d"

,ans)

;return0;

}

小行星 SSL 1341(最大匹配)

描述 貝西希望通過乙個n n網格 1 n 500 形狀的危險小行星場來駕駛她的飛船。網格包含k個小行星 1 k 10,000 位於網格的格點處。幸運的是,貝西有乙個強大的 可以在任何給定的行或列中的乙個單一的射擊汽化所有的小行星。這個 是相當昂貴的,所以她希望使用它節省。給所有的小行星的位置找到貝西...

Usaco 小行星群

bessie想駕駛她的飛船穿過危險的小行星群,小行星群是乙個n n的網格 1 n 500 在網格內有k個小行星 1 k 10,000 幸運地是bessie有乙個很強大的 一次可以消除所有在一行或一列中的小行星,這種 很貴,所以她希望盡量地少用。給出所有的小行星的位置,算出bessie最少需要多少次射...

找準目標,捕捉小行星行動正式開始

請看下圖 依據6月19日最新訊息。這是今年 2月美國宇航局 nasa 使用spitz 航天望遠鏡鎖定的一顆小行星 位於 的紅色斑點 nasa 鎖定這顆小行星幹什麼用呢?這裡面的學問非常大。我們知道。小行星體積儘管非常小,可是,它的年齡卻與我們太陽系差點兒 同齡 因此,研究小行星將有助於我們加深對太陽...