题目描述:
骨牌。
有
2*n
的地板,用
1*2
和
2*1
的骨牌进行铺地板。问共有多少种情况。
结果对
999983
取余
。
1<=n<=10000
。
样例
:
输
入:
6
输出:
13
思路:
1.简单dp问题,地板铺设种类,满足斐波那契数列,dp[1]=1,dp[2]=2,dp[3]=3,dp[4]=5...........
2.迭代法计算dp[n]并对999983取模。
参考代码:
#include<cstdio>
int n,dp[10010]={0};
int main()
{
dp[1]=1,dp[2]=2;
scanf("%d",&n);
for(int i=3;i<=n;i++)
{
dp[i]=(dp[i-1]+dp[i-2])%999983;
}
printf("%d\n",dp[n]);
return 0;
}