QOJ.ac

QOJ

시간 제한: 1 s 메모리 제한: 32 MB 총점: 100

#14181. 宝藏

통계

比特萨国王在城堡里藏了一处宝藏,并对藏宝地点保密。然而,每当他去打仗时,他都担心自己可能会牺牲,从而导致宝藏丢失。因此,他挑选了若干名值得信赖的守卫,并将寻找宝藏所需的部分信息透露给他们每个人。接着,他命令他们前往城堡下方的地下墓穴,并在那里按照“右手规则”行走。墓穴之间由通道相连。通道在墓穴之外不会交叉,但它们可能会从其他通道下方穿过。不存在起点和终点为同一个墓穴的通道。右手规则规定,守卫在进入一个墓穴后,应从右侧的下一条通道离开。守卫们被分配了不同的起点,这些起点位于通道的入口处。可能会有多个守卫从同一个墓穴出发,只要他们进入的不是同一条通道。

国王知道,在他牺牲或从战场平安归来之前,所有守卫都会忠实地执行他的命令。然而,他也意识到,每当有两个或更多的守卫在某个墓穴中相遇时,他们都会忍不住分享自己所知道的关于宝藏的所有信息。守卫们并不自私,即使其中一些人无法学到任何新信息,他们也会分享。如果有些守卫从同一个墓穴出发,他们会立即分享各自最初知道的信息。然而,如果他们在通道中擦肩而过,他们则不会交谈。

国王在思考,当他从战场平安归来时,宝藏是否依然安全。他想知道哪些守卫可能会获得寻找宝藏所需的全部信息。

请编写一个程序:

  • 从标准输入读取城堡地下室的描述、守卫的初始位置以及每个守卫最初知道的信息;
  • 确定哪些守卫能够最终知道寻找宝藏所需的全部信息;
  • 向标准输出写入这些守卫的编号。

输入格式

第一行包含一个整数 $n$,表示地下墓穴的数量,$2 \le n \le 100$。墓穴从 $1$ 到 $n$ 进行编号。

接下来的 $n$ 行描述了连接墓穴的通道。在第 $(i+1)$ 行中,按顺时针顺序描述了从第 $i$ 个墓穴引出的通道。每行中的整数由单个空格分隔。其中的第一个数字 $k_i$ 是从第 $i$ 个墓穴引出的通道数量,$1 \le k_i \le n-1$。紧接着在同一行中是 $2k_i$ 个整数:每条引出的通道由两个整数描述,前者是该通道通往的墓穴编号,后者是通道的长度(一个介于 $1$ 到 $100$ 之间的整数)。通道是双向的,即如果从墓穴 $a$ 有一条长度为 $l$ 的通道通往墓穴 $b$,那么从墓穴 $b$ 也会有一条长度为 $l$ 的通道通往墓穴 $a$。任意两个墓穴之间最多只能有一条通道相连。守卫沿着一条通道行走所需的时间恰好等于该通道的长度。我们假设守卫在墓穴中停留的时间可以忽略不计。

在第 $(n+2)$ 行包含两个整数 $k$ 和 $l$($1 \le k \le 100$,$1 \le l \le 100$),其中 $k$ 是守卫的数量,$l$ 是寻找宝藏所需的信息碎片数量。守卫从 $1$ 到 $k$ 编号。关于宝藏的信息碎片从 $1$ 到 $l$ 编号。

接下来的 $k$ 行描述了守卫的信息(第 $i$ 个守卫在第 $(i+n+2)$ 行中描述)。每行包含由单个空格分隔的若干整数。每行的第一个整数是该守卫出发的墓穴编号。第二个整数是该守卫首先前往的墓穴编号。第三个整数 $m_i$ 是第 $i$ 个守卫最初知道的关于宝藏的信息碎片数量,$0 \le m_i \le l$。随后行中的 $m_i$ 个整数是第 $i$ 个守卫最初知道的信息碎片的编号。

输出格式

第一行输出一个整数:最终能够知道寻找宝藏所需全部信息的守卫数量。

接下来的行中,按升序输出这些守卫的编号,每行一个编号。

样例

输入 1

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

输出 1

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.