CoVH之柯南開鎖 vijos 1204 匹配

2021-07-13 16:32:19 字數 2685 閱讀 7177



背景background

隨著時代的演進,

困難的刑案也不斷增加

...但真相只有乙個雖然變小了

,頭腦還是一樣好

,這就是名偵探柯南

!   

描述description

面對oibh

組織的囂張氣焰

,柯南決定深入牛棚

,一探虛實

.他經過深思熟慮,

決定從oibh

組織大門進入

...........

oibh組織的大門有乙個很神奇的鎖

.鎖是由m*n

個格仔組成

,其中某些格仔凸起

(灰色的格仔

).每一次操作可以把某一行或某一列的格仔給按下去

如果柯南能在組織限定的次數內將所有格仔都按下去,

那麼他就能夠進入總部.但是

oibh

組織不是吃素的

,他們的限定次數恰是最少次數.

請您幫助柯南計算出開給定的鎖所需的最少次數.

輸入格式input format

第一行 兩個不超過100

的正整數

n, m

表示矩陣的長和寬

以下n行 每行

m個數 非0即

1 1為凸起方格  

輸入樣例:

4 4

0000

0101

0000

0100

輸出樣例:2

思路:

最小覆蓋問題:

給定乙個二分圖,求最小的點數,使得每一條邊都至少與乙個頂點相鄰。

solution:

可以證明:二分圖最小覆蓋數=

最大匹配數。

證明:

假設最大匹配邊數為m

1.m是足夠的。因為如果存在邊

e未與頂點相連,則

e可以匹配,此時不是最大匹配。

2.m是必須的。僅考慮構成最大匹配的

m條邊,他們兩兩無公共點,所以需要

m個頂點覆蓋他們。

看不懂?好吧。簡而言之,對於i行j

列有按鈕的格仔連邊

i->j

,然後求最大匹配數。

源**/pas

type

edge=record

x,y,next:longint;

end;

var e:array[1..10000]of edge;

link,ls:array[1..100]of longint;

v:array[1..100]of boolean;

maxe,n,m:longint;

procedure add(x,y:longint);

begin

inc(maxe);

e[maxe].x:=x;

e[maxe].y:=y;

e[maxe].next:=ls[x];

ls[x]:=maxe;

end;

function find(x:longint):boolean;

var i,k:longint;

begin

find:=true;

i:=ls[x];

while i>0 do

with e[i] do

begin

if not v[y] then

begin

k:=link[y];

link[y]:=x;

v[y]:=true;

if (k=0)or find(k) then exit;

link[y]:=k;

end;

i:=next;

end;

find:=false;

end;

procedure main;

var i,ans:longint;

begin

ans:=0;

fillchar(link,sizeof(link),0);

for i:=1 to n do

begin

fillchar(v,sizeof(v),false);

if find(i) then inc(ans);

end;

writeln(ans);

end;

procedure init;

var i,j:longint;

s:string;

begin

readln(n,m);

for i:=1 to n do

begin

readln(s);

for j:=1 to m do

if s[j]='1' then

add(i,j);

end;

end;

begin

init;

main;

end.

vijos p1204 CoVH之柯南開鎖

隨著時代的演進,困難的刑案也不斷增加.但真相只有乙個 雖然變小了,頭腦還是一樣好,這就是名偵探柯南 covh06 面對oibh組織的囂張氣焰,柯南決定深入牛棚,一探虛實.他經過深思熟慮,決定從oibh組織大門進入.oibh組織的大門有乙個很神奇的鎖.鎖是由m n個格仔組成,其中某些格仔凸起 灰色的格...

名偵探柯南

題目1399 名偵探柯南 題目描述 大家一定都看過 名偵探柯南 我最開始看的是 版本的,後來出了漫畫版本,現在又有了動畫片的版本。引用彪叔的一條飛信 做男人就要做柯南。變得了正太,飈的到女聲 學得好化學,射的了麻醉 踢得好足球,玩得好極限 破得了大案,幹得過 開得了飛機,躲得過機槍 停得了 引得了雪...

流放者柯南rust 流放者柯南遊戲評測

流放者柯南遊戲評測 遊戲介紹 這是一款沙盒類開放世界遊戲,其實如果說這款遊戲和其他遊戲有什麼相似的地方的話,我只能說出3款遊戲,rust,方舟還有堡壘火焰之鍊,首先相似不能算作抄襲,因為這款遊戲內容確實比其他這一類的遊戲強很多,風格上來說,算是魔幻中世紀風格,哥德式風格的建築,大量的古遺跡,以中世紀...