#agc013f. [agc013_f]Two Faced Cards
[agc013_f]Two Faced Cards
问题描述
有 张卡片。每张卡片的两面是可以区分的。第 张卡片的正面上有整数 ,背面上有整数 。我们将这些卡片的组合称为 。还有 张另一种类型的卡片。第 张卡片的正面上有整数 ,背面上没有任何内容。我们将这些卡片的组合称为 。
你将玩 轮游戏。每轮游戏都是独立进行的。在第 轮中,你会得到一张新卡片。这张卡片的两个面是可以区分的。它的正面上有整数 ,背面上有整数 。通过将这张卡片添加到 中,会得到一个新的卡片组合 。然后,你需要组成 对卡片,每对卡片由 中的一张卡片和 中的一张卡片组成。每张卡片必须属于恰好一对。此外,对于 中的每张卡片,你需要指定使用哪一面。对于每对卡片,必须满足以下条件:
- (从 的卡片上使用的整数)(从 的卡片上使用的整数)
如果无论如何组成对和使用哪一面,都无法满足此条件,则该轮的得分为 。否则,该轮的得分为使用了正面的 中的卡片数量。
找出每一轮的最大可能得分。
约束条件
- 所有输入值都是整数。
输入
输入以以下格式从标准输入中给出:
输出
对于每一轮,按自己的行打印最大可能得分。
示例输入 1
3
4 1
5 3
3 1
1 2 3 4
3
5 4
4 3
2 3
示例输出 1
0
1
2
例如,在第三轮中, 中的卡片是 。通过使用它们的正面、背面、背面和正面,并将它们分别与 中的第四张、第三张、第一张和第二张卡片配对,可以获得得分 。无法获得 或更高的得分,因此答案是 。
示例输入 2
5
7 1
9 7
13 13
11 8
12 9
16 7 8 6 9 11
7
6 11
7 10
9 3
12 9
18 16
8 9
10 15
示例输出 2
4
3
3
1
-1
3
2
示例输入 3
9
89 67
37 14
6 1
42 25
61 22
23 1
63 60
93 62
14 2
67 96 26 17 1 62 56 92 13 38
11
93 97
17 93
61 57
88 62
98 29
49 1
5 1
1 77
34 1
63 27
22 66
示例输出 3
7
9
8
7
7
9
9
10
9
7
9