QOJ.ac

QOJ

時間限制: 3 s 記憶體限制: 512 MB 總分: 100

#10443. 渗透

统计

早上好,W-12 号特工。如果接受任务,你的任务如下。

我们正在渗透极其阴险的“混乱与恶作剧协会”(ACM),以摧毁他们的指挥结构。不幸的是,他们似乎为这种可能性做好了准备,并赋予了其指挥结构一种极其复杂的结构,这使得我们的渗透工作变得相当困难。

ACM 的指挥结构被划分为若干个单元。对于每一对单元 A 和 B,要么 A 控制 B,要么 B 控制 A。但这种“控制”关系可能是循环的,因此可能出现 A 控制 B,B 控制 C,且 C 控制 A 的情况。

我们可以派遣特工渗透到任何特定的单元,这将使我们获得对该单元及其所控制单元的控制权,但不能获得对其他任何单元的控制权。因此,在上面的例子中,渗透 A 将使我们获得对 A 和 B 的控制权,但不能获得对 C 的控制权。

为了成功渗透 ACM,我们必须获得对其所有单元的控制权,否则那些不在我们控制之下的单元会发现我们,并开始制造他们标志性的混乱和恶作剧。如你所知,最近上级对我们的经费控制得很紧,所以我们需要尽可能高效地执行这项任务。你的任务是找出为了成功完成任务,我们需要渗透的最小单元数量。

这份任务简报将在五小时后自毁。祝你好运!

输入格式

测试用例的第一行包含 ACM 拥有的单元数量 $n$ ($1 \le n \le 75$)。接下来的 $n$ 行每行包含一个长度为 $n$ 的二进制字符串,其中第 $j$ 行的第 $i$ 个字符为 $1$ 表示单元 $j$ 控制单元 $i$,否则为 $0$ ($1 \le i, j \le n$)。

第 $i$ 行的第 $i$ 个字符为 $0$;对于 $i \neq j$,第 $j$ 行的第 $i$ 个字符为 $1$ 或者第 $i$ 行的第 $j$ 个字符为 $1$,但不会同时为 $1$。

输出格式

对于每个测试用例,显示其用例编号,后跟为了获得对 ACM 的完全控制权所必须渗透的最小单元数量 $m$。然后显示 $m$ 个数字 $c_1, \dots, c_m$(顺序不限),表示要渗透的单元列表(单元编号从 $1$ 到 $n$)。如果存在多组包含 $m$ 个单元的集合能实现完全控制,则接受其中任意一组。

样例

样例输入 1

2
00
10
3
010
001
100
5
01000
00011
11001
10100
10010

样例输出 1

Case 1: 1 2
Case 2: 2 1 2
Case 3: 2 2 3

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.