DOJ logoDOJ
题目
最近添加的题目收藏的题目Workbooks
分类DLC比赛小组团队讨论区
排名
解题数量排行榜连续解题排名DOJ Power 排行榜
评测状态
征题登录注册
DOJ logoDOJ

支持 OI 子任务计分、Elo 等级分和 Discord 认证的社区在线评测系统。

题目
题目列表分类
社区
比赛排名讨论区公告举办外部比赛指南
账号
登录注册评测状态
政策
服务条款DLC 使用规则隐私政策API 文档语言运行环境比赛排名奖励评级与表现
© 2026 DOJ
保留所有权利
题解

Pebble Game

返回题目

题解

각 더미의 게임 값을 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)