CF2048A Kevin and Combination Lock
题目描述
Kevin 被 Grace 困在了 Lakeside Village。在村庄的出口处,有一个密码锁,只有 Kevin 解开它才能离开。
密码锁初始显示一个整数 $x$。Kevin 可以进行以下两种操作中的任意一种,且可以重复多次:
1. 如果 $x \neq 33$,他可以选择 $x$ 中任意一组相邻的两个数字 $3$,并同时将它们删除。例如,如果 $x = 13\,323$,他可以删除第二个和第三个 $3$,使 $x$ 变为 $123$。
2. 如果 $x \geq 33$,他可以将 $x$ 变为 $x - 33$。例如,如果 $x = 99$,他可以选择此操作将 $x$ 变为 $99 - 33 = 66$。
当密码锁上的 $x$ 变为 $0$ 时,Kevin 就能解锁并逃离 Lakeside Village。请你判断 Kevin 是否有可能解开密码锁并逃脱。
输入格式
每组测试数据包含多个测试用例。第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。
每个测试用例仅一行,包含一个正整数 $x$($1 \leq x \leq 10^9$)。
输出格式
对于每个测试用例,输出一行 "YES" 或 "NO"(不含引号),表示 Kevin 是否能够解开密码锁并逃脱。答案不区分大小写,例如 "yEs"、"yes"、"Yes" 和 "YES" 都视为肯定回答。
说明/提示
对于第一个测试用例,$165\xrightarrow{-33}132\xrightarrow{-33}99\xrightarrow{-33}66\xrightarrow{-33}33\xrightarrow{-33}0$。
对于第二个测试用例,$6369\xrightarrow{-33}6{\color{red}{33}}6\xrightarrow{\text{删除“33”}}66\xrightarrow{-33}33\xrightarrow{-33}0$。
对于第三个测试用例,可以证明无论进行何种操作,$666$ 都无法变为 $0$。
由 ChatGPT 4.1 翻译