思路
如果第 i−2,i−1 的真假性确定了,则第 i 个人也就确定了,若 i−2 为真,则 i 与 i−1 相反,若 i−2 为假,则 i 与 i−1 相同。我们不妨用 0
,1
分别代表“假”和“真”,那么 a[i] = a[i-1] ^ a[i-2]。这个和斐波那契的奇偶性一样,是周期为 3
的序列。
唯一的不同是多了以下两个限制:
1、 a[1] = a[n] ^ a[n-1] = a[n+1]
2、 a[2] = a[1] ^ a[n] = a[n+2]
稍微模拟一下就能发现规律。
ans = n + (n % 3 == 0) * n;
_ = int(input())
while _ >= 1:
_-=1
n = int(input())
ans = n
if(n % 3 == 0) ans += n
print(ans)