> 文档中心 > C++ 铺瓷砖

C++ 铺瓷砖

【问题描述】
用红色的 1×1 和黑色的 2×2 两种规格的瓷砖不重叠地铺满 n×3 的路面,求出有多少种不同的铺设方案。

【输入格式
一行一个整数 n,0<n<1000。

【输出格式】
一行一个整数,为铺设方案的数量模12345的结果。

【输入样例】

2

【输出样例】

3

code

#includeusing namespace std;int main(){    int n,k=-1;    cin>>n;    int a[100000];    a[0]=1;    a[1]=3;    for(int i=2;i<n;++i)    { a[i]=(a[i-1]*2+k)%12345; if(i%2==0)   k+=2; else   k-=2;    }    cout<<a[n-1];    return 0;}

在这里插入图片描述

天天赞天天看!!!