交错匹配

成绩 0 开启时间 2013年02月21日 星期四 18:02
折扣 0.8 折扣时间 2013年02月28日 星期四 18:02
允许迟交 关闭时间 2013年02月28日 星期四 18:02
输入文件 crossa.in 输出文件 crossa.out

【问题描述】
    有两行自然数, UP[1..N] , DOWN[1..M] ,如果 UP[I]=DOWN[J]=K ,那么上行的第 I 个位置的数就可以跟下行的第 J 个位置的数连一条线,称为一条 K 匹配,但是 同一个位置 的数最多只能连一条线。另外,每个 K 匹配都 必须且至多 跟一个 L 匹配相交且 K L !现在要求一个最大的匹配数。

【输入格式】
    第一行有两个正整数 N 和 M 。第二行 N 个 UP 的自然数,第三行 M 个 DOWN 的自然数。其中 0<N 、 M<=200 , UP 、 DOWN 的数都不超过 32767 。

【输出格式】
   最大匹配数 。

【输入输出样例1】 
输入:

crossa.in
12 11
1 2 3 3 2 4 1 5 1 3 5 10
3 1 2 3 2 4 12 1 5 5 3

输出:

crossa.out
8

【输入输出样例2】 
输入:

crossa.in
4 4
1 1 3 3
1 1 3 3

输出:

crossa.out
0