#P15645. [ICPC 2022 Tehran R] Network Topology in Hezardastan

[ICPC 2022 Tehran R] Network Topology in Hezardastan

说明

Hezardastan 是伊朗一家领先的信息技术集团,拥有一个包含 nn 台服务器和 mm 个终端(其中 mnm \leqslant n)的大型数据中心。终端是一对键盘和显示器,可以连接到服务器进行管理。服务器编号为 11nn,终端编号为 11mm。该数据中心具有一种网络拓扑结构,其中并非每个终端都必然能够连接到每台服务器。例如,下图描绘了 33 个终端和 66 台服务器,如果它们之间画有连线,则终端可以连接到服务器。

:::align{center}

:::

一个大小为 mm 的服务器子集 SS 被称为可管理的,如果网络拓扑允许其成员被终端同时管理,即每个终端可以连接到 SS 中一台不同的服务器。例如,上例中的子集 {2,3,6}\{2,3,6\} 是可管理的,因为其成员可以分别被终端 {1,2,3}\{1,2,3\} 管理。一个服务器子集被称为不可管理的,如果它的大小为 mm 且不可管理。当网络拓扑不导致任何不可管理的服务器子集时,该拓扑被称为完全可管理的。例如,上例所示的网络拓扑是完全可管理的,但如果移除终端 22 与服务器 55 之间的连接链路,则它将不再是完全可管理的,因为子集 {1,5,6}\{1,5,6\}{2,5,6}\{2,5,6\}{3,5,6}\{3,5,6\}{4,5,6}\{4,5,6\} 将变得不可管理。给定数据中心的网络拓扑,你需要判断它是否完全可管理,或者它是否导致一个不可管理的子集。

输入格式

输入的第一行包含两个整数 m 和 n,用单个空格分隔(1m1501 \leqslant m \leqslant 1501n4001 \leqslant n \leqslant 400mnm\leqslant n)。接下来的 mm 行通过一个 m×nm\times n 矩阵描述网络拓扑。这些行中的每一行包含 nn 个空格分隔的整数,这些整数是 0011。输入的第 (1+i)(1+i) 行(对于 1im1 \leqslant i \leqslant m)中的第 jj 个数(对于 1jn1 \leqslant j \leqslant n)为 11,表示终端 ii 可以连接到服务器 jj;否则为 00

输出格式

如果给定的网络拓扑是完全可管理的,你只需在输出的第一行打印 11。否则,你应在输出的第一行打印 00,并在第二行以 mm 个空格分隔的整数的形式(表示服务器编号,可以按任意顺序)打印一个不可管理的服务器子集。如果有多个不可管理的子集,你可以打印其中任意一个。

3 6
1 1 1 1 0 0
0 1 1 1 1 0
0 0 1 1 1 1
1
3 6
1 1 1 1 0 0
0 1 1 1 0 0
0 0 1 1 1 1
0
1 5 6