수도
시간 제한1초메모리 제한1024 MB
양의 실수 도로 길이를 정해 각 도로의 A_i가 B_i보다 수도 S에서 가깝거나 같도록 만들 수 있는 수도 후보 S를 모두 구합니다.
문제
개의 도시가 개의 도로로 연결되어 있다. 도시는 1번부터 번까지, 도로는 1번부터 번까지 번호가 매겨져 있다. 임의의 두 도시 사이에는 도로를 따라 이동하는 경로가 있다. 도로 의 길이는 킬로미터이며, 이 도로는 도시 와 를 양방향으로 잇는다. 모든 도로의 길이는 양수이다. 즉 이다. 다만 각 도로의 길이는 잊어버린 상태이다.
도로 에서는 사람들이 모두 에서 방향으로 한 방향으로만 이동한다. 이를 바탕으로 다음과 같은 가설을 세웠다.
- 수도 역할을 하는 도시 가 있다.
- 사람들은 수도에서 다른 도시로 이동한다.
- 사람들은 최단 경로로 이동한다. 따라서 에서 까지의 최단 거리는 에서 까지의 최단 거리보다 작거나 같다.
각 도로의 길이를 임의의 양의 실수로 정할 수 있을 때, 이 조건을 만족하는 수도 를 모두 찾아라. 조건을 만족하는 도시가 적어도 하나 있다고 가정해도 된다.
입력
첫 줄에 두 정수 ()과 ()이 주어진다.
이어지는 개의 줄에 와 ()가 주어진다. 자기 자신으로 가는 도로와 같은 두 도시를 잇는 도로가 여러 개인 경우는 없다. 즉 이고, 이면 이다.
출력
첫 줄에 수도가 될 수 있는 도시의 개수 를 출력한다.
둘째 줄에는 수도가 될 수 있는 개의 도시를 오름차순으로 공백으로 구분하여 출력한다.