首页 > 其他 > 详细

骨牌铺方格

时间:2019-11-25 21:09:43      阅读:76      评论:0      收藏:0      [点我收藏+]

骨牌铺方格

Time Limit: 1000 ms Memory Limit: 32768 KiB

Problem Description

在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:
技术分享图片

Input

输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0< n<=50)。

Output

对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。

Sample Input

1
3
2

Sample Output

1
3
2

Hint

Source

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 map<long long,long long> mp;
 4 long long fun(int n){
 5     if(mp[n]) return mp[n];//若 结果 存在,则直接返回
 6     return  mp[n]=fun(n-1)+fun(n-2);//继续更新 mp[n]
 7 }
 8 int main()
 9 {
10     int n;
11     mp[1]=1,mp[2]=2;//先初始化 mp[1],mp[2]
12     while(cin>>n)
13         cout<<fun(n)<<endl;
14     return 0;
15 }

 

骨牌铺方格

原文:https://www.cnblogs.com/NirobertEinteson/p/11930253.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!