QOJ.ac

QOJ

Limite de temps : 2.0 s Limite de mémoire : 512 MB Points totaux : 100

#12339. 黄金里程碑

Statistiques

罗马帝国幅员辽阔,众所周知,条条大路通罗马!

追随最后一位百夫长的足迹,Melody Song 教授发现了一张古老的罗马道路地图。罗马的具体位置早已被遗忘,Melody 想要从地图中将其复原。地图上有 $n$ 座城市,编号从 $1$ 到 $n$,共有 $m$ 条道路。每条道路都被标记为次要道路或主要道路。

主要道路用于前往罗马,并构成了一棵生成树;次要道路则用作替代路线或用于连接其他城市。每条道路都有固定的宽度。已知主要道路非常宽:如果我们考虑从罗马到任意其他城市的两条路径,一条是任意路径 $P$,另一条是仅使用主要道路的简单路径 $Q$,那么路径 $P$ 上最窄道路的宽度不可能大于路径 $Q$ 上最窄道路的宽度。

Melody 发现的地图包含了罗马帝国每一条道路的信息,即其类型 $t$ 和宽度 $w$。你的任务是帮助她确定根据这张地图,哪些城市可能是罗马。

输入格式

第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 10^5$)。

接下来的 $m$ 行,每行包含四个整数 $t_i, u_i, v_i$ 和 $w_i$,描述了一条连接城市 $u_i$ 和 $v_i$ 的双向道路,其类型为 $t_i$,宽度为 $w_i$ ($1 \le u_i, v_i \le n, 1 \le w_i \le 10^9$)。类型 $t_i = 0$ 表示次要道路,$t_i = 1$ 表示主要道路。

同一对城市之间可能存在多条道路,也可能存在连接城市自身的道路。题目保证任意两座城市之间通过主要道路恰好存在一条简单路径。

输出格式

第一行输出一个整数 $k$,表示可能是罗马的城市数量。

第二行按升序输出 $k$ 个整数,表示这些城市的编号。

题目保证至少存在一个这样的城市。

样例

样例输入 1

4 6
1 1 2 2
1 1 3 2
1 1 4 2
0 2 3 3
0 3 4 3
0 4 2 3

样例输出 1

1
1

样例输入 2

3 3
0 2 3 1
1 1 2 2
1 1 3 2

样例输出 2

3
1 2 3

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#238EditorialOpen题解jiangly2025-12-13 00:24:41View

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.