만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

우리를 인도하는 넥타이

시간 제한5초메모리 제한1024 MB

요약
방마다 넥타이 개수를 정해 두고, 문이 최대 3개인 트리에서 시작 방부터 금고 방까지 d+30번 이내로 문을 지나 찾아가는 문제입니다.
난이도

어려움10점 중 9점

유형
트리, 분할 정복, 구현
정답자
아직 제출이 없습니다

문제

이제 로봇 판매 수익으로 조수를 고용했으니, 드디어 CEOI 메달이 든 금고를 찾아갈 차례입니다!

금고는 NN개의 방과 N−1N - 1개의 문으로 이어진 대학 건물 안에 있습니다. 모든 방은 다른 모든 방에서 도달할 수 있고, 각 방에는 문이 최대 33개 있습니다. 당신과 조수는 각자 건물 평면도를 갖고 있습니다. 두 평면도는 같은 구조를 나타내지만, 방과 문의 번호는 서로 다를 수 있습니다.

두 번째 경기일에는 위원회가 질의 요청을 처리합니다. 이 시간을 틈타 아무에게도 들키지 않고 금고에 다가갈 수 있습니다.

먼저 조수가 건물을 뒤집니다. 금고가 있는 방을 찾으면 그가 당신을 그곳까지 안내합니다.*

조수는 방마다 비밀 표시를 남깁니다. 표시는 넥타이이고, 넥타이는 서로 구별되지 않으므로 당신이 얻는 정보는 각 방에 놓인 넥타이 개수뿐입니다. 한 방에 놓이는 넥타이의 최대 개수는 가능한 한 작아야 합니다(아래 채점 항목 참고).

나중에 화장실에 간다는 핑계로 몰래 빠져나와 남겨진 넥타이를 따라 금고 방을 찾습니다. 금고는 숨겨져 있어서 방에 들어간다고 바로 알아볼 수 없고, 발견한 넥타이에 의존해야 합니다. 자리를 비운 사실이 들키면 안 되므로 금고를 빨리 찾아야 합니다. 시작 위치에서 금고 방까지 가는 직접 경로의 문 개수를 dd라고 할 때, 지나는 문은 최대 d+30d + 30개여야 합니다. 같은 문을 여러 번 지나면 지날 때마다 셉니다.

다음을 수행하는 프로그램을 작성하십시오.

  • 조수가 각 방에 남길 넥타이 개수를 알려준다.
  • 나중에 금고 방까지 안내한다.

* 결국 금고는 직접 열고 싶지 않나요? 대회가 끝난 뒤 다른 사람이 열어서 메달을 건네받는다면 재미가 없겠죠!

예제1

  1. 예제 1

    입력
    1
    
    예상 출력
    0