페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
5
ms
메모리 제한
1024
MB
수학 교사 Maria는 다음 수업 시간에 학생들을 두 그룹으로 나누려고 한다. 따라서 이제 그녀는 흔히 접하는 문제에 직면했다. 학생들을 어떻게 합리적으로 두 그룹으로 나눌 것인가? 반에는 명의 학생이 있고, 교실에는 부터 까지 번호가 매겨진 개의 의자가 있다. 학생이 교실에 도착하면 항상 비어 있는 의자 중 가장 왼쪽에 있는 의자에 앉는다. 따라서 어떤 날에 총 명이 온다면, 이들은 항상 번 의자에 앉게 된다.
학생들을 두 그룹으로 나누기 위해 Maria는 사용하고 싶은 전략이 있다. 수업이 시작되기 전에 그녀는 일과 이로 이루어진 길이 의 수열 을 선택한다. 수업이 시작되면 그녀는 각 학생에게 가서, 번 의자에 앉은 학생을 번 그룹에 배정한다. 그룹을 합리적으로 나누려면 이 충족해야 하는 두 가지 조건이 있다.
Maria는 몇 명의 학생이 올지 모르지만, 몇 명이 오더라도 두 그룹의 크기 차이는 최대 이어야 한다.
같은 색인 의자 쌍이 개 있다. 그러한 의자 쌍에 학생들이 앉아 있다면, 그들은 같은 그룹에 배정되어야 한다.
주어진 과 개의 의자 쌍에 대해, 위 조건을 충족하면서 사전순으로 가장 앞서는 수열 을 찾는 것이 과제이다. 유효한 이 없다면 프로그램은 을 출력해야 한다.
사전순이란 두 수열을 비교할 때 먼저 첫 번째 문자를 확인하고, 같다면 두 번째 문자를 확인하는 식으로 계속하는 순서를 뜻한다.
예를 들어 수열 1122은 1211보다 앞서지만, 1112보다는 뒤에 온다.
해답은 여러 테스트 케이스 그룹에 대해 채점된다. 한 그룹의 점수를 얻으려면 그 그룹의 모든 테스트 케이스를 통과해야 한다.
그룹 | 배점 | 제한
||
||
|| 번 의자는 번 의자와만 같은 색일 수 있다.
|| 추가 제한이 없다.
첫 번째 줄에는 교실에 있는 의자의 수와 같은 색인 의자 쌍의 수를 나타내는 두 정수 과 가 주어진다. (, ) 그다음 개의 줄에 각각 두 정수 가 주어진다. (, ) 이는 번 의자와 번 의자가 같은 색이라는 뜻이다. 각 의자는 최대 하나의 다른 의자와 같은 색이다.
일 또는 이로 이루어진 길이 의 수열을 공백 없이 출력한다. 유효한 해가 없다면 을 출력한다.
7 3
2 3
4 5
6 7
1221122
8 3
1 3
2 5
4 7
12122121
6 3
1 3
5 2
4 6
-1
두 명만 온다면 두 사람은 서로 다른 그룹에 속해야 한다. 따라서 번 의자와 번 의자는 서로 다른 그룹에 속해야 하지만, 번 의자는 번 의자와 같은 그룹에 속해야 한다는 것도 알고 있다. 네 명이 온다면 두 그룹의 크기가 같아지도록 번 의자는 번 의자와 같은 그룹에 속해야 한다. 하지만 번 의자는 번 의자와 같은 그룹에 속해야 한다. 같은 방식으로 계속하면 번 의자와 번 의자는 같은 그룹에 속해야 하고, 번 의자와 번 의자는 다른 그룹에 속해야 함을 알 수 있다. 따라서 해는 과 의 두 가지이다. 이들 중 사전순으로 가장 작은 것은 이다.
Programmeringsolympiaden
로그인 상태를 확인하는 중입니다.