#P3513. [POI 2011] KON-Conspiracy

[POI 2011] KON-Conspiracy

Description

敌对的 Bitotia 发动了一次对 Byteotia 的突袭,并占领了其大部分领土。

Byteotia 的国王 Byteasar 打算在被占领地区组织抵抗运动。

Byteasar 自然地从选择将组成运动骨干的人开始。

他们将被分为两组:

阴谋者将在被占领的领土上直接行动,而支援小组将在自由的 Byteotia 内部运作。

然而,有一个问题——分组必须满足以下条件:

支援小组中的每一对人必须彼此认识——这将使整个小组合作高效。

阴谋者之间不能相互认识。

没有一个小组可以为空,即必须至少有一个阴谋者和至少一个支援小组成员。

Byteasar 想知道有多少种方法可以将选定的人分成这两组。

最重要的是,这样的分组是否可能。

由于他完全不知道如何解决这个问题,他向你求助。

Input Format

标准输入的第一行包含一个整数 nn2n50002 \le n \le 5000),表示参与抵抗运动的人数。

这些人被编号为 1 到 nn(为了保密!)。

接下来的 nn 行描述了小组中谁认识谁。

ii 行描述了第 ii 个人的熟人,以用空格分隔的整数序列表示。

这些数字中的第一个,kik_i0kin10 \le k_i \le n-1),表示第 ii 个人的熟人数。

接下来是 kik_i 个整数 ai,1,ai,2,,ai,kia_{i,1},a_{i,2},\cdots,a_{i,k_i}——ii 的熟人的编号。数字 ai,ja_{i,j} 按递增顺序给出,并满足 1ai,jn1 \le a_{i,j} \le nai,jia_{i,j} \neq i。可以假设如果 xx 出现在序列 aia_i 中(即在 ii 的熟人中),那么 ii 也出现在序列 axa_x 中(即在 xx 的熟人中)。

Output Format

在标准输出的第一行,你的程序应输出一个整数:

将选定的人分为阴谋者和支援小组的方法数。

如果没有满足上述条件的分组,那么显然 00 是正确答案。

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

Hint

题面翻译由 ChatGPT-4o 提供。