過山車(匈牙利演算法模板)

2021-08-22 11:58:32 字數 1305 閱讀 1526

題目描述:

rpg girls今天和大家一起去遊樂場玩,終於可以坐上夢寐以求的過山車了。可是,過山車的每一排只有兩個座位,而且還有條不成文的規矩,就是每個女生必須找個個男生做partner和她同坐。但是,每個女孩都有各自的想法,舉個例子把,rabbit只願意和xhd或pqk做partner,grass只願意和linle或ll做partner,princesssnow願意和水域浪子或偽酷兒做partner。考慮到經費問題,boss劉決定只讓找到partner的人去坐過山車,其他的人,嘿嘿,就站在下面看著吧。聰明的acmer,你可以幫忙算算最多有多少對組合可以坐上過山車嗎?

輸入:

輸入資料的第一行是三個整數k , m , n,分別表示可能的組合數目,女生的人數,男生的人數。0輸出:

對於每組資料,輸出乙個整數,表示可以坐上過山車的最多組合數

樣例輸入:

6 3 3

1 11 2

1 32 1

2 33 1

樣例輸出:

匈牙利演算法可以看成是婚姻匹配,從二分圖中找出最大匹配的演算法。

#include#include#include#include#include#include#include#include#include#include#include#include#include#define inf 0x3f3f3f3f

#define maxn 510

#define eps 1e-8

#define ll long long

#define max 1000000007

#define pi 3.1415926

#define e 2.71828182845

using namespace std;

int dirx[8]=;

int diry[8]=;

int k,m,n;

int link[maxn][maxn];///男女之間是否有邊連線

int used[maxn];///標記陣列

int girl[maxn];///這個妹子和哪個男生相連

int found(int u)}}

return 0;

}int main()

int ans=0;

for(int i=1;i<=m;i++)///遍歷每個男生

printf("%d\n",ans);

}return 0;

}

過山車 匈牙利模板

rpg girls今天和大家一起去遊樂場玩,終於可以坐上夢寐以求的過山車了。可是,過山車的每一排只有兩個座位,而且還有條不成文的規矩,就是每個女生必須找個個男生做partner和她同坐。但是,每個女孩都有各自的想法,舉個例子把,rabbit只願意和xhd或pqk做partner,grass只願意和l...

過山車 匈牙利模板

rpg girls今天和大家一起去遊樂場玩,終於可以坐上夢寐以求的過山車了。可是,過山車的每一排只有兩個座位,而且還有條不成文的規矩,就是每個女生必須找個個男生做partner和她同坐。但是,每個女孩都有各自的想法,舉個例子把,rabbit只願意和xhd或pqk做partner,grass只願意和l...

HDU 2063 過山車 匈牙利演算法模板

匈牙利演算法模板。大概過程就是對乙個點進行匹配時,嘗試匹配所有與它相連的點。如果這個點沒有被匹配,或者這個點被匹配了,但是匹配它的點可以重新找到乙個匹配點,從而騰出這個點,那麼就可以與這個點匹配。used陣列標記遍歷到的v。如果不標記,增廣過程中乙個點會重複匹配v。最大匹配就是對一邊所有的點嘗試匹配...