| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 88 | 34 | 34 | 40.964% |
승원이는 수열과 쿼리 998244353을 풀던 도중 도저히 풀이가 떠오르지 않아 옆자리에 있던 민재와 게임을 하려고 한다. 게임의 규칙은 아래와 같다.
승원이와 민재는 이 게임의 달인이므로 최선의 전략으로 게임을 한다. 그 때 누가 게임을 이기는지 구하라.
첫 번째 줄에 높이 $K$와 게임의 개수 $G$가 공백으로 구분되어 주어진다. $(1\le K\le60,ドル 1ドル\le G\le 200 000)$
두 번째 줄부터 $G$개의 줄에 걸쳐 한 줄에 하나씩 각 게임의 범위의 시작 $a$와 범위의 끝 $b$가 공백으로 구분되어 주어진다. $(1\le a\le b\le 2^{K-1})$
$G$개의 줄에 걸쳐, 각 게임에서 승원이가 이기는 경우 "swlee0202"를, 민재가 이기는 경우 "mj1000j"를 한 줄에 하나씩 출력하라.
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 3 | 모든 게임의 범위는 어떤 노드의 서브 트리의 리프 노드와 같음 |
| 2 | 27 | 모든 게임에 대해 $b -a \leq 3$을 만족함 |
| 3 | 70 | 추가적인 제약 조건 없음 |
4 2 1 1 2 7
swlee0202 mj1000j
3 1 1 4
swlee0202
$K=3,ドル $a=1,ドル $b=4$인 상황은 다음과 같이 나타낼 수 있다. 다음 그림에서 파란색은 고를 수 있는 노드, 노란색은 고른 노드, 빨간색은 고를 수 없는 노드이다.
승원이가 노란색 노드의 서브트리를 가져간다. 이 방법은 최선의 전략이 아닐 수 있다.
승원이가 노란 노드의 서브트리를 가져간 다음의 트리는 다음과 같다.
입출력의 양이 많으므로, 빠른 입출력을 사용하는 것을 권장합니다. 다음은 대표적인 언어에서 빠른 입출력을 이용하는 방법입니다.
cin, cout을 사용한다면 main 함수 첫 줄에 std::cin.tie(nullptr); std::cout.tie(nullptr); std::ios_base::sync_with_stdio(false);를 추가하고, 줄바꿈 시 std::endl 대신 '\n'을 출력해주세요. 이 경우 scanf를 비롯한 C의 입출력 함수는 사용할 수 없음에 유의해 주세요.
scanf/printf는 충분히 빠르므로 별도의 처리를 하지 않아도 괜찮습니다.Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용해 주세요.input() 대신 sys.stdin.readline().rstrip()을 사용해 주세요.School > 경기과학고등학교 > 나는코더다 반년대회 > 나는코더다 2025 반년대회 > Div.2 G번
School > 경기과학고등학교 > 나는코더다 반년대회 > 나는코더다 2025 반년대회 > Open Contest L번