1062:铺瓷砖-1
1062:铺瓷砖-1
时间限制: 1 S 内存限制: 2048 KB
Submit: 8 Accept: 8
描述 |
---|
对于一个3行m列的走道。现在用1*3、2*3、3*3的砖去铺满,一共有多少种不同的铺法(1*3的砖可以旋转成3*1,同理2*3可以旋转成3*2)。 |
输入 |
1个正整数n,表示测试案例的数量。 |
输出 |
针对每组案例,输出一个数字,表示不同的铺法的数量,由于这个数值可能很大(值可能比long long int还长),故只要输出这个数字对100000007取模的结果。 每组案例输出后都要换行。 |
样例输入 |
2 |
样例输出 |
7
|
#include<stdio.h>
int main()
{
long long fn,f1,f2,f3,t,n,i;
scanf("%lld",&t);
while(t--)
{
scanf("%lld",&n);
f1=0;
f2=0;
f3=1;
for(i=0;i<n;i++)
{
fn=f3+f2+4*f1;
fn=fn%100000007;
f1=f2;
f2=f3;
f3=fn;
}
printf("%lld\n",fn);
}
return 0;
}