#P14615. [2019 KAIST RUN Fall] Capital

[2019 KAIST RUN Fall] Capital

Description

给定由 MM 条道路连接的 NN 个城市。城市编号从 11NN,道路编号从 11MM。对于任意两个城市,都存在一系列道路连接这两个城市。道路 ii 的长度为 LiL_i 公里,并双向连接城市 AiA_i 和城市 BiB_i。每条道路的长度均为正数,即 Li>0L_i > 0。不幸的是,你忘记了每条道路的具体长度。

你观察到,对于每条道路 ii,所有在该道路上的人都从 AiA_i 单向前往 BiB_i。因此,你提出了以下假设:

  • 存在一个称为 SS 的首都城市。
  • 人们从首都城市前往其他城市。
  • 人们尝试沿最短路径移动。因此从 SSAiA_i 的最短路径长度小于等于从 SSBiB_i 的最短路径长度。

当你可以将每条道路的长度任意分配为正实数时,能否找到满足条件的首都城市 SS?你可以假设至少存在一个城市满足条件。

Input Format

输入的第一行包含两个整数 NN2N5002 \le N \le 500)和 MMN1MN(N1)2N-1 \le M \le \frac{N(N-1)}{2})。

接下来的 MM 行中,第 ii 行给出 AiA_iBiB_i1Ai,BiN1 \le A_i, B_i \le N)。

输入中不存在自环或重边。形式化地说,AiBiA_i \ne B_i,且 {Ai,Bi}={Aj,Bj}    i=j\{A_i, B_i\} = \{A_j, B_j\} \implies i = j

Output Format

第一行输出可能的首都城市数量 KK

第二行以递增顺序输出 KK 个用空格分隔的整数,表示所有可能作为首都的城市。

2 1
1 2
1
1

Hint

翻译由 DeepSeek V3 完成