动态规划c++编程题:铺砖
问题描述:
我好像见过类似的题,但只有一种砖,这有两种砖;
求思路即可;(毕竟动归一般只需要一个状态转移方程吧?)
答
理解图
答
啊这题我见过
这个最佳答案由 Pliosauroidea 给出,感谢 Pliosauroidea 的回答。
单击隐藏图章3000是ms么。。ms的话递归好像跑不出来emm
我目前做出来的思路就是:
对于x,将其输入函数func:
if x==1:
return 1#如果只剩下一层,只有一种情况
elif x==2:
return 3 #如果剩下最后两层,返回3(即两种12+一种22)
else:
return func(x-1)+2func(x-2)#即:假定最后一层为12,递归,再假定最后一层为竖排的12 2或22(此处横排的12 *2在前一种情况已经被计算过),递归
铺地毯(原题链接:http://noi.openjudge.cn/ch0405/9279/),C\C++交流,技术交流区,鱼C论坛 - Powered by Discuz!
铺地毯(原题链接:http://noi.openjudge.cn/ch0405/9279/)
https://fishc.com.cn/forum.php?mod=viewthread&tid=180450
答
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n,f[10001]={};
cin>>n;
f[0]=1;
f[1]=1;
for(int i=2;i<=n;i++)
{
f[i]=(f[i-1]+2*f[i-2])%100007;
}
cout<<f[n];
return 0;
}
请采纳谢谢