QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 1024 MB Total points: 100 Hackable ✓

#18701. 謠言

Statistics

你相信謠言嗎?

在一項著名的心理學實驗中,研究人員向人們展示兩條線,並要求他們指出哪一條更長。事實上,除了其中一人之外,其餘的人都是實驗者事先安排好的。這些被安排的人實際上會說較短的線比較長。當周圍所有人都給出相同的答案時,真正的受試者也會說較短的線比較長。這個實驗顯示人們深受周圍人的影響,謠言也是如此。

謠言始於最初的散佈者。最初的散佈者可以有多人,除了最初的散佈者之外,沒有人會憑空創造並相信謠言。

每過一分鐘,相信謠言的人會同時將謠言傳播給所有周圍的人,而群眾中的人只要有超過一半的周圍人相信謠言,他自己也會開始相信謠言。

由於從相信謠言的那一刻起就不會再聽取其他說法,因此一旦相信了謠言,就會持續相信下去。

現在,讓我們找出人們開始相信謠言的時間。

輸入格式

第一行給出人數 $N$。($1 \le N \le 200\,000$) 這代表有編號從 1 到 $N$ 的人。

從第二行開始給出 $N$ 行。其中第 $i$ ($1 \le i \le N$) 行給出 $i$ 號人的周圍人編號,並以代表輸入結束的 $0$ 結尾,各數字以空格分隔。編號為 $1$ 到 $N$ 之間的自然數,同一行中不會有重複的編號。不存在自己是自己的周圍人或單方面成為周圍人的情況,且總體的雙向周圍關係不超過 $1\,000\,000$ 個。

下一行給出散佈謠言的最初散佈者人數 $M$。($1 \le M \le N$)

最後一行給出最初散佈者的編號,以空格分隔。最初散佈者的編號不會重複。

輸出格式

輸出 $N$ 個整數 $t_1, t_2, \dots, t_N$,以空格分隔。$t_i$ 是 $i$ 號人開始相信謠言的時間(分鐘),如果經過足夠長的時間後仍不相信謠言,則輸出 $-1$。最初的散佈者被視為從 $0$ 分鐘開始相信謠言。

範例

輸入 1

7
2 3 0
1 3 0
1 2 4 0
3 5 0
4 0
0
0
2
1 6

輸出 1

0 1 2 3 4 0 -1

輸入 2

7
2 4 0
1 3 0
2 5 0
1 5 6 0
3 4 6 7 0
4 5 7 0
5 6 0
1
6

輸出 2

4 4 3 3 2 0 1

說明

範例 1:

0 分:最初散佈者(1 號和 6 號)產生謠言。

1 分:1 號向 2 號和 3 號散佈謠言。2 號因為周圍 2 人中有 1 人相信謠言,所以開始相信。3 號因為周圍 3 人中只有 1 人相信謠言,所以不相信。6 號沒有可以散佈謠言的周圍人。

2 分:1 號和 2 號向 3 號散佈謠言。因為相鄰的 3 人中有超過一半(2 人)相信謠言,所以 3 號也從 2 分開始相信。

3 分:3 號向 4 號散佈謠言。4 號開始相信。

4 分:5 號也開始相信謠言。7 號在經過足夠長的時間後仍不相信謠言。

Figure 1. 範例 1 的謠言傳播過程示意圖

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.