DOJ logoDOJ
문제
최근 추가된 문제들저장한 문제문제집
카테고리DLC대회그룹팀게시판
랭킹
문제 풀이 랭킹스트릭 랭킹DOJ Power 랭킹
현황
문제 제안로그인회원가입
DOJ logoDOJ

OI 서브태스크 채점, Elo 레이팅, Discord 인증을 갖춘 커뮤니티 온라인 저지.

문제
문제 목록카테고리
커뮤니티
대회랭킹게시판공지사항외부 대회 개최이용 안내
계정
로그인회원가입채점 현황
정책
이용약관DLC 이용 규칙개인정보 처리방침API 사용 설명서언어별 채점 환경대회 순위 보상레이팅과 퍼포먼스
© 2026 DOJ
모든 권리 보유
해설

조약돌 게임

문제로 돌아가기

해설

각 더미의 게임 값을 g(x)g(x)g(x)라고 정의한다. 다음 식으로 계산할 수 있다.

  • x mod 6x \bmod 6xmod6이 111 또는 222라면 g(x)=0g(x)=0g(x)=0이다.
  • 그렇지 않으면 t=⌊(x−3)/6⌋t=\lfloor (x-3)/6 \rfloort=⌊(x−3)/6⌋로 놓는다. ttt의 3진법 표현을 오른쪽에서부터 확인해, 처음으로 000이 나올 때까지 연속된 0이 아닌 자릿수의 개수를 ccc라 하면 g(이다. 일 때에는 이다.

정답은 g(A1)⊕g(A2)⊕⋯⊕g(AN)g(A_1)\oplus g(A_2)\oplus\cdots\oplus g(A_N)g(A1​)⊕g(A2​)⊕⋯⊕이 이면 , 아니면 이다.

이 게임에서는 현재 차례인 사람이 더미를 세 부분으로 나누고, 상대가 남길 부분을 선택한다. 한 더미에서 값 hhh로 반드시 바꿀 수 있다는 것은, 세 부분의 게임 값이 모두 hhh인 분할이 존재한다는 뜻이다. 따라서 다음 집합을 정의한다.

S(x)={h∣a+b+c=x, a,b,c≥1, g(a)=g(b)=g(c)=h}.S(x)=\{h\mid a+b+c=x,\ a,b,c\ge 1,\ g(a)=g(b)=g(c)=h\}.S(x)={h∣a+b+c=

위에 정의한 ggg는 g(x)=mex⁡S(x)g(x)=\operatorname{mex}S(x)g(x)=mexS(x)를 만족한다. 실제로 g(x)=kg(x)=kg(x)=k이면 모든 에 대해 세 부분의 게임 값이 모두 인 분할이 존재하지만, 모두 인 분할은 없다.

이를 확인하려면 x=6t+rx=6t+rx=6t+r (3≤r≤63\le r\le 63≤r≤6)로 쓰면 된다. 세 부분의 게임 값이 h≥1h\ge 1h≥1로 같으려면, 각 부분을 ()로 나타냈을 때 가 또는 여야 한다. 3진법으로 의 마지막 개 자릿수가 모두 또는 이고 그 다음 자릿수가 인 경우, 같은 조건을 만족하는 세 의 합으로는 과 를 만들 수 없다. 반면 더 작은 값 에 해당하는 세 는 자릿수별로 구성할 수 있다. 인 경우는 세 부분을 각각 또는 꼴로 만들면 된다. 인 경우에는 이 세 부분의 합으로 를 만들 수 없다.

마지막으로 모든 더미의 게임 값을 XOR한 결과가 XXX라고 하자. X≠0X\ne0X=0이면 XXX의 최고로 높은 1비트를 가진 더미를 고르고, 그 더미의 값을 다른 모든 더미의 XOR로 강제하는 분할을 할 수 있다. 그러면 상대가 어느 부분을 남기더라도 다음 XOR는 000이다. X=0X=0이면 어느 더미를 어떻게 나누어도 세 부분이 모두 기존 게임 값과 같을 수 없으므로, 상대는 XOR가 이 아닌 부분을 남길 수 있다. 따라서 위 판정이 성립한다.

각 수에서 3진법 자릿수를 많아야 O(log⁡3Ai)O(\log_3 A_i)O(log3​Ai​)개 확인하므로 전체 시간 복잡도는 O(∑Nlog⁡3max⁡Ai)O(\sum N\log_3 \max A_i)O(∑이고, 추가 공간 복잡도는 이다.

x)=c+1g(x)=c+1
g(x)=c+1
t=0t=0t=0
c=0c=0c=0
g(AN​)
000
Second
First
x, a,b,c≥
1, g(a)=
g(b)=
g(c)=
h}.
0≤h<k0\le h<k
0≤h<k
hhh
kkk
6ti+ri6t_i+r_i6ti​+ri​
3≤ri≤63\le r_i\le 63≤ri​≤6
t1+t2+t3t_1+t_2+t_3t1​+t2​+t3​
t−1t-1t−1
t−2t-2t−2
ttt
k−1k-1k−1
111
222
000
tit_iti​
t−1t-1t−1
t−2t-2t−2
hhh
tit_iti​
h=0h=0h=0
6q+16q+16q+1
6q+26q+26q+2
g(x)=0g(x)=0g(x)=0
xxx
X=
0
000
N
log3​
max
Ai​
)
O(1)O(1)O(1)