覆盖墙壁

题目描述

你有一个长为 \(N\) 宽为 \(2\) 的墙壁,给你两种砖头:一个长 \(2\)\(1\),另一个是 L 型覆盖 \(3\) 个单元的砖头。如下图:

0  0
0  00

砖头可以旋转,两种砖头可以无限制提供。你的任务是计算用这两种来覆盖 \(N\times 2\) 的墙壁的覆盖方法。例如一个 \(2\times3\) 的墙可以有 \(5\) 种覆盖方法,如下:

012 002 011 001 011  
012 112 022 011 001

注意可以使用两种砖头混合起来覆盖,如 \(2\times4\) 的墙可以这样覆盖:

0112
0012

给定 \(N\),要求计算 \(2\times N\) 的墙壁的覆盖方法。由于结果很大,所以只要求输出最后 \(4\) 位。例如 \(2\times 13\) 的覆盖方法为 \(13465\),只需输出 \(3465\) 即可。如果答案少于 \(4\) 位,就直接输出就可以,不用加前导 \(0\),如 \(N=3\) 时输出 \(5\)

输入格式

一个整数 \(N\),表示墙壁的长。

输出格式

输出覆盖方法的最后 \(4\) 位,如果不足 \(4\) 位就输出整个答案。

样例输入

13

样例输出

3465

数据范围

\(1\leq N\leq 1000000\)

Solution:

Code:

posted @ 2022-10-23 15:11  FighterQ  阅读(72)  评论(0)    收藏  举报