重要城市
时间限制:1秒 内存限制:256M
【问题描述】
参加JSOI冬令营的同学发现,由于南航校内修路切断了原来通往计算中心的路,导致去的路程比原先增加了近一公里。而食堂门前施工虽然也切断了原来通向计算中心的路,却没有使路程增加,因为可以找到同样长度的路作替代。其实,问题的关键在于,路截断的地方是交通点。
同样的情况也出现在城市交通中。某些城市如果出了问题,可能会引起其他很多城市的交通不便。另一些城市则影响不到别的城市的交通。JSOI冬令营的同学发现这是一个有趣的问题,于是决定研究这个问题。
他们认为这样的城市是重要的:如果城市 \(c\) 被破坏后,存在两个不同的城市 \(a\) 和 \(b\)(\(a,b\)均不等于 \(c\) ),\(a\) 到 \(b\) 的最短距离增长了(或不通),则城市 \(c\) 是重要的。
JSOI冬令营的同学面对着一张教练组交给他们的城市交通图,他们希望能找出所有重要城市。现在请你来解决这个问题。
【输入格式】
第一行两个整数 \(n\) 和 \(m\),\(n\) 表示城市数量,\(m\) 表示城市间的交通道路数。
以下 \(m\) 行,每行三个整数 \(s,t\) 和 \(len\),表示城市 \(s\) 到城市 \(t\) 之间存在一条道路,长为\(len\)(\(s\) 和 \(t\) 是 1 到 \(N\) 的整数,\(1≤len≤10000\))。两个城市间可能存在多条道路。
【输出格式】
一行,若干整数,按递增次序列出所有重要城市编号。如果不存在,则输出"No important cities."
【输入输出样例】
Input
4 4
1 2 1
2 3 1
4 1 2
4 3 2
Output
2
【数据限制】
对于所有数据保证: \(1≤n≤200\),\(1≤m≤n(n-1)/2\)
【来源】
Mr.he