您的位置:首页 > 其它

方块与收纳盒

2020-06-29 05:04 71 查看

##简单dp
title:
链接:https://ac.nowcoder.com/acm/problem/14975
来源:牛客网

现在有一个大小n1的收纳盒,我们手里有无数个大小为11和2*1的小方块,我们需要用这些方块填满收纳盒,请问我们有多少种不同的方法填满这个收纳盒

输入描述:
第一行是样例数T
第2到2+T-1行每行有一个整数n(n<=80),描述每个样例中的n。

输出描述:
对于每个样例输出对应的方法数

示例:
输入
3
1
2
4
输出
1
2
5

题目分析:题目不难,思路就是dp[i]=dp[i-1]+dp[i-2]。

#include<iostream>
using namespace std;
int main()
{
int t;
cin >> t;
long long dp[81]={0};
dp[1]=1;dp[2]=2;
for(int i=3;i<81;i++) dp[i]=dp[i-1]+dp[i-2];
while(t--)
{
int n;
cin >> n;
cout << dp[n] << endl;
}
return 0;
}

对于动态规划专题一直不是很理解,关键还是得刷题,当然首先得要理解这种思路,刷题写代码只是为了巩固、加深自己的理解。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: