1012
来源:互联网 发布:手机做微课用什么软件 编辑:程序博客网 时间:2024/05/28 05:14
题意:在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数
思路:老师上课讲过一个类似的题,但比这个题要难,要想铺满2*n的长方形的,应该从后面向前推,即dp[i]=dp[i-1]+dp[i-2];还应该列出最前面的两个,即dp[1]=1,dp[2]=2;此题就很容易解出来了,本题没有退出的条件,我人为设置了输入0为退出的条件,程序最后还是a了
感想:acm题的难度感觉不如以前了,特别是这几道题特别水
#include<iostream>
using namespace std;long long dp[50];
int main()
{
int n;
dp[1] = 1;
dp[2] = 2;
int flag = 2;
while (cin >> n&&n)
{
if (n <= flag)
cout<<dp[n]<<endl;
else
{
for (int i = flag + 1; i <= n; ++i)
dp[i] = dp[i - 1] + dp[i - 2];
cout << dp[n] << endl;
}
}
return 0;
}
0 0
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 第11周阅读程序写出执行结果1(2)
- scikit-learn进行模型参数的选择
- Implement Trie (Prefix Tree)
- Spring Boot的POM文件
- leetcode 088 Merge Sorted Array
- 1012
- Android进程间通信
- 【设计模式C++】单例模式
- 【《OpenCV3编程入门》内容简介&勘误&配套源代码下载
- 第1章 概述
- angularJS学习小结——filter
- 程序员必读的三十本经典巨作
- 题目1 : 打折机票(hihocoder 20挑战赛)
- Swift 集成Alamofire/Kingfisher/MJRefresh/MBProgressHUD的小项目