QOJ.ac

QOJ

حد الوقت: 1 s حد الذاكرة: 128 MB مجموع النقاط: 100

#9508. 阴谋

الإحصائيات

敌对的比特国(Bitotia)对比特国(Byteotia)发动了突袭,并占领了其大片领土。比特国国王 Byteasar 打算在被占领区组织抵抗运动。Byteasar 自然地从挑选将构成运动骨干的人员开始。这些人将被分为两组:直接在占领区活动的“阴谋者”,以及在自由比特国内部活动的“支援组”。

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

  • 支援组中的每一对人必须互相认识——这将使整个小组协作高效。
  • 阴谋者之间必须互不认识。
  • 两个组都不能为空,即至少要有一名阴谋者,且支援组中至少要有一人。

Byteasar 想知道将选定的人员划分为这两组的方法有多少种。最重要的是,这种划分是否可行。由于他完全不知道如何处理这个问题,他请求你的帮助。

输入格式

标准输入的第一行包含一个整数 $n$ ($2 \le n \le 5\,000$),表示参与组建抵抗运动的人数。这些人编号为 1 到 $n$(为了保密!)。接下来的 $n$ 行描述了组内人员的相识情况。其中第 $i$ 行描述了编号为 $i$ 的人的相识情况,由一系列以空格分隔的整数组成。第一个数字 $k_{i}$ ($0 \le k_{i} \le n-1$) 表示第 $i$ 个人的相识人数。该行接下来的 $k_{i}$ 个整数 $a_{i,1}, a_{i,2}, \dots, a_{i,k_{i}}$ 是 $i$ 的相识对象的编号。数字 $a_{ij}$ 按递增顺序给出,且满足 $1 \le a_{ij} \le n$,$a_{ij} \neq i$。你可以假设如果 $x$ 出现在 $a_{i}$ 的序列中(即在 $i$ 的相识对象中),那么 $i$ 也一定会出现在 $a_{x}$ 的序列中(即在 $x$ 的相识对象中)。

输出格式

在标准输出的第一行(也是唯一一行)中,你的程序应该打印一个整数:将选定人员划分为阴谋者和支援组的方法数。如果没有满足上述条件的划分,那么 0 显然是正确答案。

样例

输入 1

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

输出 1

3

将这些人划分为两组的方法有三种。阴谋者小组可以由编号为 1 和 4 的人组成,或者由编号为 2 和 4 的人组成,或者仅由编号为 4 的人组成。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.