P11003 [蓝桥杯 2024 省 Python B] 蓝桥村的真相

题目描述

在风景如画的蓝桥村,$n$ 名村民围坐在一张古老的圆桌旁,参与一场思想 的较量。这些村民,每一位都有着鲜明的身份:要么是誉满乡野的诚实者,要么是无可救药的说谎者。 当会议的钟声敲响,一场关于真理与谬误的辩论随之展开。每位村民轮流发言,编号为 $i$ 的村民提出了这样的断言:坐在他之后的两位村民——也就是 编号 $i + 1$ 和 $i + 2$(注意,编号是环形的,所以如果 $i$ 是最后一个,则 $i + 1$ 是 第一个,以此类推)之中,一个说的是真话,而另一个说的是假话。 在所有摇曳不定的陈述中,有多少真言隐藏在谎言的面纱之后? 请你探索每一种可能的真假排列组合,并计算在所有可能的真假组合中, 说谎者的总数。

输入格式

输入的第一行包含一个整数 $T$,表示每次输入包含 $T$ 组数据。 接下来依次描述 $T$ 组数据。 每个数据一行包含一个整数 $n$,表示村落的人数。

输出格式

输出 $T$ 行,每行包含一个整数,依次表示每组数据的答案。

说明/提示

对于 $10\%$ 的评测用例,$T = 1,3 \le n \le 10$。 对于 $40\%$ 的评测用例,$1 \le T \le 10^2,3 \le n \le 3 \times10^3$。 对于所有评测用例,$1 \le T \le 10^5,3 \le n \le 10^{18}$。 #### 样例解释 在样例中,可能的组合有「假,假,假」「真,真,假」「真,假,真」「假, 真,真」,说谎者的总数为 $3 + 1 + 1 + 1 = 6$。