题目描述:
骨牌。
有
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; }