P0853

[Usaco2007 Open]Dining吃饭

[Usaco2007 Open]Dining吃饭

农夫 John 为奶牛们准备了许多食物和饮料,但每头奶牛只喜欢其中的一部分。虽然不一定能喂饱所有奶牛,他仍希望让尽可能多的奶牛同时得到喜欢的食物和饮料。

农夫 John 准备了 FF 种食物和 DD 种饮料,并且已经知道 NN 头奶牛各自喜欢哪些食物和饮料。他希望为尽可能多的奶牛各分配一种喜欢的食物和一种喜欢的饮料。

每种食物和每种饮料都只能分配给一头奶牛。例如,如果编号为 22 的食物已经分配给某头奶牛,其他奶牛就不能再获得这种食物。

请计算最多可以喂饱多少头奶牛。

输入格式

第一行包含三个整数 NN、FF 和 DD,分别表示奶牛数量、食物种类数和饮料种类数。

接下来 NN 行,第 ii 行首先包含两个整数 FiF_i 和 DiD_i,分别表示第 ii 头奶牛喜欢的食物数量和饮料数量。随后依次给出 FiF_i 个食物编号和 DiD_i 个饮料编号。

输出格式

输出一个整数,表示最多可以喂饱的奶牛数量。

样例输入

4 3 3
2 2 1 2 3 1
2 2 2 3 1 2
2 2 1 3 1 2
2 1 1 3 3

样例输出

3

样例解释

各头奶牛的喜好如下:

  • 奶牛 11 喜欢编号为 11、22 的食物,以及编号为 11、22 的饮料;
  • 奶牛 22 喜欢编号为 22、33 的食物,以及编号为 11、22 的饮料;
  • 奶牛 33 喜欢编号为 11、33 的食物,以及编号为 11、22 的饮料;
  • 奶牛 44 喜欢编号为 11、33 的食物,以及编号为 33 的饮料。

一种最优分配方案如下:

  • 不给奶牛 11 分配食物和饮料;
  • 给奶牛 22 分配编号为 22 的食物和编号为 22 的饮料;
  • 给奶牛 33 分配编号为 11 的食物和编号为 11 的饮料;
  • 给奶牛 44 分配编号为 33 的食物和编号为 33 的饮料。

由于总共只有 33 种食物和 33 种饮料,因此不可能喂饱超过 33 头奶牛。

数据范围

  • 1≤F≤1001\le F\le 100;
  • 1≤D≤1001\le D\le 100;
  • 1≤N≤1001\le N\le 100。

来源与许可

本题为 USACO 2007 Open 试题「Dining(吃饭)」,题面与测试数据整理自 BZOJ。

样例 1

输入

4 3 3
2 2 1 2 3 1
2 2 2 3 1 2
2 2 1 3 1 2
2 1 1 3 3

输出

3