CF166E.Tetrahedron

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个正四面体。让我们将它的顶点分别标记为 AABBCCDD

一只蚂蚁站在四面体的顶点 DD 上。这只蚂蚁非常活跃,不会闲着一动不动。在每个时刻,它会沿着四面体的某一条棱从一个顶点爬到另一个顶点。这只蚂蚁不能停留在原地。

你不需要做太多事情来解决这个问题:只需计算蚂蚁从初始顶点 DD 出发,恰好经过 nn 步之后回到顶点 DD 本身有多少种方式。换句话说,请找出蚂蚁可以走的、从顶点 DD 到顶点 DD 的长度为 nn 的不同路径的数量。由于这个数字可能非常大,你应该输出它对 109+710^9 + 7 取模的结果。

输入格式

第一行包含唯一的整数 nn1n1071 \le n \le 10^7)——步数。

输出格式

输出唯一的数字——路径数对 109+710^9 + 7 取模的结果。

输入输出样例

  • 输入#1

    1

    输出#1

    0
  • 输入#2

    2
    

    输出#2

    3
  • 输入#3

    4

    输出#3

    21

说明/提示

  • 样例 1:从 DD11 步只能到 AABBCC,回不到 DD,所以是 00 种。
  • 样例 2:DADD \rightarrow A \rightarrow DDBDD \rightarrow B \rightarrow DDCDD \rightarrow C \rightarrow D,共 33 种路径。
  • 样例 3:走 44 步回到 DD2121 种路径。
  • 技巧:44 个顶点中 AABBCC 是对称的,可以压缩成两个状态(same=D\text{same} = \text{在} Ddiff=不在D\text{diff} = \text{不在} D)。
首页