페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
5
ms
메모리 제한
1024
MB
경찰관 Acsel에게 위험한 범죄자 Waxel을 붙잡는 긴급한 일을 위해 여러분의 도움이 필요하다. Waxel은 개의 서로 다른 장소로 이루어진 도시 어딘가에 숨어 있다. 장소에는 부터 까지 번호가 매겨져 있으며, 각각 서로 다른 두 장소를 연결하는 개의 양방향 도로가 있다. 그는 오랫동안 어떤 장소 에 머물렀지만(어느 장소인지는 알 수 없다), 이후 일련의 도로를 따라 이동하여 다른 장소 로 갔다(이 장소도 알 수 없다).
경찰은 Waxel을 목격한 사람들로부터 개의 증언을 수집했다. 따라서 경찰은 Waxel이 에서 까지 가는 도중 장소 를 방문했다는 것을 알고 있다(어떤 에 대해서는 또는 일 수도 있다). 하지만 장소들을 어떤 순서로 방문했는지는 알지 못한다. 또한 Waxel은 에서 까지 가는 도중 이 개의 장소 외에도 더 많은 장소를 방문했을 수 있다.
이제 여러분의 임무는 Waxel이 에서 까지 가장 짧은 도로의 연속을 따라 이동했다는 조건하에, 일 가능성이 있는 장소를 찾도록 경찰을 돕는 것이다(이는 Waxel이 이동한 도로들의 길이의 합이 가능한 한 작다는 뜻이다.). 증언과 일치하는 최단 경로가 없다면 그러한 장소가 전혀 없을 수도 있다.
여러분의 풀이는 여러 테스트 케이스 그룹으로 테스트된다. 한 그룹의 점수를 받으려면 그 그룹의 모든 테스트 케이스를 통과해야 한다.
그룹 | 점수 | 제한
|| 도로는 정확히 개이며, 각각 장소 과 , 과 등을 연결하고 마지막으로 과 을 연결한다
|| 모든 장소 쌍 사이에 (반복되지 않는) 도로의 연속이 하나만 존재하며, 그 결과 이다
||
||
|| 및
|| 추가 제한 없음
첫 번째 줄에는 다음 세 정수가 주어진다.
도시의 장소 수, (),
도시의 도로 수, (), 그리고
증언의 수, ().
두 번째 줄에는 Waxel이 방문한 장소를 나타내는 개의 서로 다른 정수 ()가 주어진다.
다음 개 줄에는 도시의 서로 다른 도로들이 설명된다. 번째 줄에는 세 정수 , (), 그리고 ()가 주어지며, 이는 번째 도로가 장소 과 를 연결하고 길이가 미터임을 뜻한다. 어떤 두 장소 사이든 일련의 도로를 따라 이동하여 오갈 수 있으며, 모든 장소 쌍 사이를 직접 연결하는 도로는 최대 하나임이 보장된다.
첫 번째 줄에 일 수 있는 정점의 수를 출력한다. 이 수는 일 수 있음에 유의한다.
두 번째 줄에 일 수 있는 모든 정점을 출력한다. 이들은 공백으로 구분하여 오름차순으로 출력해야 한다.
6 6 2
1 5
1 2 1
2 3 1
3 4 1
4 5 1
5 6 1
6 1 1
4
1 2 4 5
4 3 3
2 3 4
1 2 3
1 3 5
1 4 4
0
7 9 2
5 1
2 3 3
2 1 1
3 1 2
3 5 2
1 4 1
5 4 3
5 6 5
5 7 2
6 7 1
5
1 2 5 6 7
예제 에서는 장소 가 Waxel의 가능한 목적지이다. 에 도착하기 위해 그는 경로 을 이용할 수도 있었다.
예제 에서는 주어진 정점들을 통과하는 최단 경로가 없다. 따라서 답은 이다.
예제 에서는 가능한 경우가 상당히 많다. 예를 들어 에 도착하기 위해 Waxel은 경로 을 이용할 수도 있었다.
Programmeringsolympiaden
로그인 상태를 확인하는 중입니다.