만드는 중입니다

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

돌 더미 쪼개기

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

요약
돌 더미가 주어질 때, 매 턴마다 더미 k개를 없애고 다른 k개를 둘로 나누는 변형 님 게임에서 앨리스가 이기는지 판정합니다.
난이도

어려움10점 중 8점

유형
게임 이론, 수학, 비트 연산
정답자
아직 제출이 없습니다

문제

앨리스와 밥이 변형된 님 게임을 한다. 처음에 빈 더미가 아닌 돌 더미 여러 개가 앞에 놓여 있다. 두 사람은 번갈아 차례를 진행하며, 앨리스가 먼저 시작한다.

한 턴에 플레이어는 다음 동작을 순서대로 반드시 수행해야 한다.

  • 돌 더미를 일부 제거한다. 제거하는 더미 수는 최소 1개이고, 전체 더미 수의 절반을 넘을 수 없다.
  • 남은 더미 중 제거한 것과 같은 수의 더미를 고르고, 고른 더미 각각을 빈 더미가 아닌 두 더미로 나눈다.

유효한 턴이 끝나면 빈 더미가 아닌 더미의 수는 게임 시작 때와 같아야 한다. 턴에서 모든 동작을 수행하지 못하는 플레이어는 진다.

여러 게임이 주어지며, 각 게임에서 두 플레이어가 최적으로 플레이할 때 누가 이기는지 구한다.

입력

첫 줄에 게임 수를 나타내는 정수 tt (1≤t≤1 0001 \leq t \leq 1\,000)가 주어진다. 각 게임은 두 줄로 주어진다. 게임의 첫 줄에는 돌 더미의 개수 nn (2≤n≤502 \leq n \leq 50)이 주어진다. 다음 줄에는 각 더미의 돌 개수 ss (1≤s≤10121 \leq s \leq 10^{12}) nn개가 공백으로 구분되어 주어진다.

출력

tt줄을 출력한다. 각 게임에 대해 앨리스가 이기면 11, 밥이 이기면 00을 출력한다. 결과는 입력에 나온 순서대로 출력한다.

예제1

  1. 예제 1

    입력
    4
    3
    1 1 1
    3
    1 1 2
    3
    2 2 2
    4
    4 4 4 4
    
    예상 출력
    0
    1
    0
    1