만드는 중입니다

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

매직 카드

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

요약
1부터 N까지 적힌 카드 K장이 주어질 때, 가네시가 한 장을 버리고 나머지를 배열해 덴글렉이 버린 카드를 알아내도록 전략을 설계합니다.
난이도

보통10점 중 7점

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

문제

Pak Dengklek이 마술을 선보인다. Pak Dengklek의 조수 Pak Ganesh에게는 1부터 NN까지 번호가 붙은 카드 NN장이 있다. 관객 한 명이 무대에 올라와 이 중 서로 다른 카드 KK장을 골라 Pak Ganesh에게 건넨다. Pak Ganesh는 카드를 보고 KK장 중 한 장을 버린 뒤, 나머지 K−1K - 1장을 원하는 순서로 탁자 위에 놓는다. 그러면 Pak Dengklek은 탁자 위의 K−1K - 1장을 보고 Pak Ganesh가 버린 카드를 알아내야 한다.

마술이 시작된 뒤에는 두 사람이 서로 연락할 수 없지만, 시작하기 전에 전략을 정해 둘 수 있다. 여러분이 두 사람의 전략을 설계해 주어야 한다. 이번에는 Pak Dengklek과 Pak Ganesh가 같은 NN과 KK로 이 마술을 QQ번 진행한다.

제한

  • 2≤K≤82 \le K \le 8
  • K≤N≤10 000K \le N \le 10\,000
  • 1≤Q≤50 0001 \le Q \le 50\,000

choose_cards가 호출될 때마다:

  • 1≤cards[i]≤N1 \le cards[i] \le N (모든 ii에 대해 0≤i≤K−10 \le i \le K - 1).
  • cards의 모든 원소는 서로 다르다.

find_discarded_card가 호출될 때마다:

  • 주어지는 모든 입력은 QQ번의 choose_cards 반환값 전체와 같으며, 순서만 무작위이다.

예제1

  1. 예제 1

    입력
    2 2 1
    1 2
    
    예상 출력
    1