演算法複習 codevs1022 匈牙利演算法

2022-06-03 07:54:07 字數 1048 閱讀 1005

題目描述 description

有乙個n×m的單位方格中,其中有些方格是水塘,其他方格是陸地。如果要用1×2的矩陣區覆蓋(覆蓋過程不容許有任何部分重疊)這個陸地,那麼最多可以覆蓋多少陸地面積。

輸入描述 input description

輸入檔案的第一行是兩個整數n

,m  (1<=n

,m<=100),第二行為乙個整數k( k<=50),接下來的k行,每行兩個整數x,y表示k個水塘的行列位置。(1<=x

<=n

,1<=y<=

m)。輸出描述 output description

輸出所覆蓋的最大面積塊(1×2面積算一塊)。

樣例輸入 sample input

4 46

1 11 4

2 24 1

4 24 4

樣例輸出 sample output

4【題解】普通二分圖匹配,黑白染色

#include#include

#include

#include

using

namespace

std;

const

int m1[4]=,m2[4]=;

int n,m,k,a[101][101],cnt[2],tag[101][101],c[5001][5001],all,used[5001],girl[5001

];inline

bool find(int

h) }

return

false;}

intmain()

for(int i=1;i<=n;i++)

for(int j=1;j<=m;j++) if(!a[i][j])

for(int i=1;i<=n;i++)

for(int j=1,x,y;j<=m;j++)

} } }

for(int i=1;i<=cnt[0];i++)

cout

return0;

}

當然,比賽的時候誰會去寫這玩意啊

codevs 1022覆蓋(匈牙利演算法)

嗯,先上題目描述。此題接近裸的匈牙利演算法,將陸地和其四周是陸地的點連一條邊,這樣就有了乙個無向圖。接著就是從第乙個點出發列舉未被標記的點,標記與其對應的另乙個點 因為是1 2的長方形 開了乙個四維陣列e x1 y1 x2 y2 若為零代表點 x1,y1 與 x2,y2 不連通。match x1 y...

CODEVS 1022 覆蓋 解題報告

codevs.cn 時間限制 1 s 空間限制 128000 kb 題目等級 大師 master 有乙個n m的單位方格中,其中有些方格是水塘,其他方格是陸地。如果要用1 2的矩陣區覆蓋 覆蓋過程不容許有任何部分重疊 這個陸地,那麼最多可以覆蓋多少陸地面積。輸入描述 input descriptio...

10 22資料庫 複習

今天老師複習的資料庫的內容 我覺得吧 這塊不難,之前學過嘛聽起來很輕鬆 老師上課講的就是建立資料庫 建立表 還有簡單的sql語句 主要的目的就是讓我們掌握好基礎的一些東西 把原來學過的東西撿回來!這是今天下午親手敲過的 也是老師上課講的例題 建立資料庫testschool create databa...