設有m個工人x1, x2, …, xm,和n項工作y1, y2, …, yn,規定每個工人至多做一項工作,而每項工作至多分配一名工人去做。由於種種原因,每個工人只能勝任其中的一項或幾項工作。問應怎樣分配才能使盡可能多的工人分配到他勝任的工作。這個問題稱為人員分配問題。
第一行兩個整數m,n分別為工人數和工作數。
接下來乙個整數s,為二分圖的邊數。
接下來s行,每行兩個數ai,bi表示第ai個工人能勝任第bi份工作 ## output
乙個整數,表示最多能讓多少個工人派到自己的勝任的工作上。
334
1221
3313
3
規模:
1<=m,n<=100
1<=s<=10000
這是我們剛學的匹配問題的模板題,用最基礎的…額… 什麼演算法來著?咳咳,匈牙利演算法。沒錯!原理就是…算了,看程式吧。
#include
#include
#include
using
namespace std;
int n,m,sb,hd[
110]
,tot;
int b[
110]
,cv[
110]
;struct abcs[
10010];
bool
find
(int x)
return0;
}void
add(
int a,
int b)
; hd[a]
=tot;
}int
main()
for(
int i=
1;i<=n;i++
)int ans=0;
for(
int i=
1;i<=n;i++)if
(cv[i]
) ans++
; cout<}
SSL 1338 最大匹配 人員分配
題意 description 設有m個工人x1,x2,xm,和n項工作y1,y2,yn,規定每個工人至多做一項工作,而每項工作至多分配一名工人去做。由於種種原因,每個工人只能勝任其中的一項或幾項工作。問應怎樣分配才能使盡可能多的工人分配到他勝任的工作。這個問題稱為人員分配問題。讀入 input 第一...
SSL P1338 最大匹配之人員分配
有m個工人x1,x2,xm,和n項工作y1,y2,yn,規定每個工人至多做一項工作,而每項工作至多分配一名工人去做。由於種種原因,每個工人只能勝任其中的一項或幾項工作。問應怎樣分配才能使盡可能多的工人分配到他勝任的工作。總共有s組x,y表示工人x能勝任工作y。求最多能讓多少個工人派到自己的勝任的工作...
day04人員管理
人員管理 如下 doctype html utf 8 title stylesheet href bootstrap css bootstrap.css head js vue.js script container id text v model id name text v model name...