페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
5
ms
메모리 제한
1024
MB
Jocke와 그의 친구들은 보통 서로 모노폴리를 한다. 셀 수 없이 많은 게임을 한 뒤, 평소 규칙에 싫증이 난 그들은 규칙을 조금 바꾸었다.
먼저, 적당한 크기의 나라를 고른다. 그런 다음 그 나라의 도로망을 살펴보고, 사이클을 이루는 서로 다른 도시들의 수열 을 고른다. 이는 모든 에 대해 도시 와 사이에 직접 연결된 도로가 있고, 와 사이에도 직접 연결된 도로가 있다는 뜻이며, 모노폴리 보드와 같다. 그런 다음 그 나라로 가서, 자동차로 사이클을 따라 돌면서 실제 돈으로 부동산을 사고파는 방식으로 게임을 한다.
하지만 게임을 실행하기 어렵게 만드는 제약이 있다. 도로망에서 적합한 사이클을 찾아야 한다. 일부 나라는 도로망이 매우 크다. 더욱 어렵게 만드는 점은 사이클의 도로 수가 짝수여야 한다는 것이다. 그렇지 않으면 규칙이 작동하지 않는다(``Free Parking''이 가운데에 놓이지 않아 불균형한 게임이 된다).
나라의 모든 도시와 도시 쌍 사이의 도로가 주어질 때, 짝수 개의 도로로 이루어진 사이클이 존재한다면 하나를 찾아라.
[!h]



세 예제 경우에 등장하는 나라의 그림.
여러 테스트 그룹으로 구성된 테스트 세트로 풀이를 평가하며, 각 그룹에는 일정한 점수가 배정된다. 각 테스트 그룹에는 테스트 케이스 세트가 들어 있다. 테스트 그룹의 점수를 얻으려면 해당 테스트 그룹의 모든 테스트 케이스를 해결해야 한다.
그룹 | 점수 | 제약 조건
| 18 |
| 16 | 및
| 17 | 도시들을 두 부분으로 나누어, 같은 부분에 속한 두 도시 사이에는 도로가 없도록 할 수 있다.
| 13 | 나라의 모든 도시는 최대 2개의 도시와 직접 연결된 도로를 갖는다.
| 20 | 나라의 모든 도시는 최대 3개의 도시와 직접 연결된 도로를 갖는다.
| 16 | 추가 제약 조건이 없다.
첫째 줄에 도로망의 도시 수와 도로 수를 각각 나타내는 두 정수 ()와 ()가 주어진다.
이어서 개의 줄이 주어지며, 각 줄에는 두 정수 와 가 주어진다. 이는 나라에서 도시 와 사이에 도로가 있다는 뜻이다(). 나라에서 같은 도시 쌍 사이에 여러 도로가 존재하지 않음이 보장된다.
짝수 길이의 사이클이 없다면, 문자열 ```NO`''만 포함하는 한 줄을 출력한다.
짝수 길이의 사이클이 있다면, 문자열 ```YES`''만 포함하는 한 줄을 출력한다. 그런 다음, 그러한 사이클을 출력해야 한다. 먼저 사이클에 포함된 도시 수를 나타내는 짝수 정수 ()를 한 줄에 출력한다. 다음 줄에는 사이클에 포함된 도시를 나타내는 개의 서로 다른 정수 ()를 공백으로 구분하여 출력한다. 도시 사이에 도로가 존재해야 한다.
가능한 사이클이 여러 개라면 그중 아무거나 출력할 수 있다.
4 5
1 2
1 3
2 3
3 4
4 1
YES
4
3 2 1 4
5 6
1 2
1 3
1 4
1 5
2 3
4 5
NO
7 6
1 7
3 4
4 5
5 6
6 3
5 2
YES
4
6 3 4 5
Programmeringsolympiaden
로그인 상태를 확인하는 중입니다.