CF1346E.Magic Tricks

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Masha 即将在她所在大学举办的才艺表演中登台表演。她想用许多不同的魔术把观众惊艳到!

在其中一个魔术中,她使用了 nn 个海绵球,其中有一个是特殊的。首先,她将这些球排成一行,并把特殊的球放在第 kk 个位置(位置从左到右编号为 11 到 nn)。接着,她会进行 mm 次交换:在第 ii 次交换时,她选择第 xix_i 个位置的球和第 yiy_i 个位置的球,并交换它们。

由于 Masha 是一名魔术师,她会假装进行一些交换来迷惑观众——也就是说,她可以选择某些交换实际上并不执行(但观众看起来像是执行了)。对于哪些交换需要假装、哪些需要真正执行,没有任何限制——例如,她可以假装所有的交换,或者全部都真实执行。

为了让魔术表演得完美,特殊的球最终应该出现在某个特定的位置——但 Masha 还没有决定哪个位置最合适。由于假装交换很难,对于每一个位置,她都想知道,最少需要假装多少次交换,才能让特殊的球最终出现在该位置。

不幸的是,Masha 是一名魔术师,而不是数学家或程序员。因此她需要你的帮助来计算她想要的结果!

输入格式

第一行包含三个整数 nn、mm 和 kk(2≤n≤2⋅1052 \le n \le 2 \cdot 10^5;1≤m≤2⋅1051 \le m \le 2 \cdot 10^5;1≤k≤n1 \le k \le n),分别表示球的数量、交换的次数以及特殊球的初始位置。

接下来 mm 行,每行包含两个整数 xix_i 和 yiy_i(1≤xi,yi≤n1 \le x_i, y_i \le n;xi≠yix_i \ne y_i),表示第 ii 次交换涉及的位置。

输出格式

输出 nn 个整数。第 ii 个整数表示,为了让特殊的球最终出现在第 ii 个位置,Masha 至少需要假装多少次交换(如果无法让特殊球到达该位置,则输出 −1-1)。

输入输出样例

  • 输入#1

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

    输出#1

    2 0 3 1
  • 输入#2

    5 7 4
    3 2
    3 2
    4 2
    3 4
    4 1
    3 2
    5 2

    输出#2

    2 2 0 3 1
  • 输入#3

    7 15 5
    5 3
    4 2
    6 1
    2 4
    1 6
    3 7
    5 6
    4 2
    6 4
    2 6
    6 3
    6 3
    7 6
    2 6
    7 2

    输出#3

    -1 1 1 1 2 1 0

说明/提示

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页