CF166E.Tetrahedron
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个正四面体。让我们将它的顶点分别标记为 A、B、C 和 D。

一只蚂蚁站在四面体的顶点 D 上。这只蚂蚁非常活跃,不会闲着一动不动。在每个时刻,它会沿着四面体的某一条棱从一个顶点爬到另一个顶点。这只蚂蚁不能停留在原地。
你不需要做太多事情来解决这个问题:只需计算蚂蚁从初始顶点 D 出发,恰好经过 n 步之后回到顶点 D 本身有多少种方式。换句话说,请找出蚂蚁可以走的、从顶点 D 到顶点 D 的长度为 n 的不同路径的数量。由于这个数字可能非常大,你应该输出它对 109+7 取模的结果。
输入格式
第一行包含唯一的整数 n(1≤n≤107)——步数。
输出格式
输出唯一的数字——路径数对 109+7 取模的结果。
输入输出样例
输入#1
1
输出#1
0
输入#2
2
输出#2
3
输入#3
4
输出#3
21
说明/提示
- 样例 1:从 D 走 1 步只能到 A、B 或 C,回不到 D,所以是 0 种。
- 样例 2:D→A→D,D→B→D,D→C→D,共 3 种路径。
- 样例 3:走 4 步回到 D 有 21 种路径。
- 技巧:4 个顶点中 A、B、C 是对称的,可以压缩成两个状态(same=在D,diff=不在D)。