거짓말쟁이

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

요약
최대 k번 연속으로 거짓 대답이 나올 수 있는 포함 질문으로 1부터 n 사이의 숨은 x를 알아내고, x를 반드시 포함하는 가장 작은 후보 집합 S'를 출력한다.
난이도

어려움10점 중 9점

유형
조합론, 수학, 그리디
정답자
아직 제출이 없습니다

문제

두 친구 경곽이와 구름이는 다음과 같은 규칙의 게임을 하고 있다.

  1. 양의 정수 kk를 정한다. 이 수는 경곽이와 구름이 모두 알고 있다.

  2. 구름이가 양의 정수 nn과 xx를 선택한 후, 경곽이에게는 nn만 알려준다. (1≤x≤n1 \leq x \leq n)

  3. 경곽이는 구름이에게 양의 정수를 원소로 가지는 집합 SS를 하나 정해 말한다.

  4. 구름이는 경곽이에게 xx가 SS에 속하는지 속하지 않는지 대답한다.

    • 단, 구름이는 거짓말을 할 수 있다. xx가 SS에 속하지 않지만 SS에 속한다고 대답할 수 있으며, xx가 SS에 속하지만 속하지 않는다고 대답할 수 있다.
    • 구름이는 연속으로 최대 kk번까지 거짓말을 할 수 있다. 즉, 연속한 k+1k+1번의 질문 중 적어도 한 질문에 대한 대답은 진실임이 보장된다.
  5. 경곽이가 만족할 때까지 3, 4 과정을 반복한다.

  6. 경곽이는 충분한 질문 이후 양의 정수로 이루어진 집합 S′S'을 제시한다. xx가 S′S'에 속한다면 경곽이가 승리하고, 아니라면 구름이가 승리한다.

    • 경곽이가 승리할 경우, S'의 크기가 작을수록 더 높은 점수를 받을 수 있다. 자세한 내용은 점수 부분을 참고하여라.

여러분은 경곽이가 되어 게임을 진행한다. 구름이는 이미 kk, nn 및 xx를 정하였다. 구름이의 거짓말을 피해 xx가 포함된 최종 집합 S′S'을 제시해 게임에서 승리하자.

예제

이 문제는 공개된 예제가 없습니다.