二分图最大匹配模板(pascal)
uoj#78. 二分图最大匹配 从前一个和谐的班级,有 n l nl 个是男生,有 n r nr 个是女生。编号分别为 1 , … , n l 1,…,nl 和 1 , … , n r 1,…,nr。 有若干个这样的条件:第 v v 个男生和第 u u 个女生愿意结为配偶。 请问这个班级里最多产生多少对配偶? 输入格式 第一行三个正整数, n l , n r , m nl,nr,m。 接下来 m m 行,每行两个整数 v , u v,u 表示第 v v 个男生和第 u u 个女生愿意结为配偶。保证 1 ≤ v ≤ n l 1≤v≤nl, 1 ≤ u ≤ n r 1≤u≤nr,保证同一个条件不会出现两次。 输出格式 第一行一个整数,表示最多产生多少对配偶。 接下来一行 n l nl 个整数,描述一组最优方案。第 v v 个整数表示 v v 号男生的配偶的编号。如果 v v 号男生没配偶请输出 0 0。 样例一 input 2 2 3 1 1 1 2 2 1 output 2 2 1 explanation 1 1 号男生跟 2 2 号女生幸福地生活在了一起~ 2 2 号男生跟 1 1 号女生幸福地生活在了一起~ 样例二 input 2 2 2 1 1 2 1 output 1 1 0 explanation 班上一个女神一个女汉子,两个男生都去追女神。一种最优方案是: 1 1