#aBC168D. [ABC168D] .. (Double Dots)
[ABC168D] .. (Double Dots)
AT_abc168_d [ABC168D] .. (Double Dots)
题目描述
在某个地方,有一个洞窟。
洞窟里有 个房间和 条通道,房间编号为 到 ,通道编号为 到 。第 条通道连接着房间 和房间 ,且是双向的。任意两个房间之间都可以通过若干条通道互相到达。房间 是洞窟入口的特殊房间。
由于洞窟内光线昏暗,决定在除房间 以外的每个房间都设置一个“路标”。每个房间的路标会指向与该房间直接通过通道相连的某一个房间。
由于洞窟内部危险,希望对于除房间 以外的每个房间,都满足以下条件:
- 从该房间出发,不断“查看当前房间的路标,并移动到路标所指的房间”,能够以最少的移动次数到达房间 。
请判断是否存在一种满足目标的路标设置方法。如果存在,请输出其中一种方案。
输入格式
输入以如下格式从标准输入读入。
输出格式
如果不存在满足目标的路标设置方法,输出 No。
如果存在,输出 行。第 行输出 Yes,第 行()输出房间 的路标所指向的房间编号。
输入输出样例 #1
输入 #1
4 4
1 2
2 3
3 4
4 2
输出 #1
Yes
1
2
2
输入输出样例 #2
输入 #2
6 9
3 4
6 1
2 4
5 3
4 6
1 5
6 2
4 5
5 6
输出 #2
Yes
6
5
5
1
1
说明/提示
限制条件
- 所有输入均为整数。
- 任意两个房间之间都可以通过若干条通道互相到达。
样例解释 1
如输出样例所示设置路标时:
- 从房间 出发,,移动 次,为最小值。
- 从房间 出发,,移动 次,为最小值。
- 从房间 出发,,移动 次,为最小值。
因此,按照输出样例设置路标即可满足目标。
样例解释 2
如果存在多种满足条件的方案,输出其中任意一种均可。
由 ChatGPT 4.1 翻译