만드는 중입니다

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

Zillionim

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

요약
동전 10^12개가 일렬로 놓인 Zillionim에서 매번 연속된 10^10개를 제거하는 게임의 상태를 보고, 무작위로 두는 AI를 대부분 이길 수 있는지 판단합니다.
난이도

어려움10점 중 8점

유형
게임 이론, 수학, 동적 계획법
정답자
아직 제출이 없습니다

문제

Zillionim은 두 명의 플레이어가 번갈아 가며 하는 턴제 게임이다. 처음에 101210^{12}개의 동전이 왼쪽에서 오른쪽으로 한 줄에 끝과 끝이 맞닿아 놓여 있으며, 왼쪽에서부터 1번부터 101210^{12}번까지 번호가 붙어 있다. 각 턴에 플레이어는 연속된 101010^{10}개의 동전을 골라 반드시 제거해야 한다. 원래 연속되어 있지 않던 두 동전은, 그 사이의 동전이 모두 제거되더라도 연속된 동전이 되지 않는다.

플레이어는 자기 차례에 유효한 수를 둘 수 있으면 반드시 두고, 그 다음은 상대의 차례가 된다. 자기 차례에 유효한 수를 둘 수 없으면 그 플레이어가 지고 상대가 이긴다.

우리 엔지니어들은 Zillionim을 플레이하도록 기계 학습 모델을 아직 훈련 중이라, 무작위로 수를 두는 간단한 AI를 만들었다. AI가 항상 먼저 둔다. AI는 자기 차례마다 가능한 유효한 수를 모두 찾은 뒤, 그중 하나를 균등한 확률로 무작위 선택한다.

이 AI를 이길 수 있겠는가? 적어도 대부분의 경우에는 이길 수 있겠는가?

제한

  • T=500T = 500.
  • −3≤P≤1012−1010+1-3 \le P \le 10^{12} - 10^{10} + 1.
  • P≠0P \neq 0.
  • PP는 위에서 설명한 대로 유효한 플레이 또는 게임 상태에 대한 유효한 정보를 나타낸다.

예제1

  1. 예제 1

    입력
    1
    1
    
    예상 출력
    1