博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【HDU 5366】The mook jong 详解
阅读量:6489 次
发布时间:2019-06-24

本文共 1278 字,大约阅读时间需要 4 分钟。

hot3.png

                                  The mook jong

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)

Total Submission(s): 767    Accepted Submission(s): 522

Problem Description

ZJiaQ want to become a strong man, so he decided to play the mook jong。ZJiaQ want to put some mook jongs in his backyard. His backyard  consist of n bricks that is 1*1,so it is 1*n。ZJiaQ want to put a mook        jong in a brick. because of the hands of the mook jong, the distance of two mook jongs should be equal or more than 2 bricks. Now ZJiaQ want to know how many ways can ZJiaQ put mook jongs legally(at least one mook jong).


Input

There ar multiply cases. For  each case, there is a single integer n( 1 < = n < = 60)


Output

Print the ways in a single line for each case.


Sample Input

1	23456

Sample Output

1235812

 Source

题意

大致模型就是说,有一个1*N的格子,(就像下面这样),往里面塞东西,但是每两个之间距离大于等于2.

1
2
3
···
···
n

对于样例,输入4有如下5种解法

    
    
    
    
    
    
    
    
    
    
    
    
    
    

通过自己举几个例子发现当输入从1~60的时候

输出是这样的                    1 2 3 5 8 12······

是不是好像发现了什么?

再结合每两个元素之间至少要2个间距,仔细思考之后得出公式     

a[i]=a[i-1]+a[i-3]+1;


Tips

当N接近60的时候数据会很大,注意数据的存储类型!


#include
using namespace std;long long a[61]={0,1,2,3};int main(){    int n;    for(int i=4;i<=60;i++)    {            a[i]=a[i-1]+a[i-3]+1;    }    while(cin>>n){    cout<
<

转载于:https://my.oschina.net/zmixed/blog/625406

你可能感兴趣的文章
C#程序的编译和执行
查看>>
Jug 并行处理框架
查看>>
厚积薄发,丰富的公用类库积累,助你高效进行系统开发(1)(转)
查看>>
深发展银行编码器(解剖)
查看>>
健康长寿的18个秘密:保护DNA,我们并非无能为力
查看>>
20 个 jQuery 分页插件和教程,附带实例
查看>>
(转)介绍ice 代理 不错的文章
查看>>
华为软件测试工程师与普通软件工程师的区别
查看>>
scala001
查看>>
Struts2环境搭建与测试
查看>>
网页设计心得
查看>>
NYOJ-195 飞翔
查看>>
添加附属组
查看>>
Nginx反向代理svn服务器提交文件出现500错误
查看>>
自己手动复现一个熊猫烧香病毒
查看>>
很简单的JS点击复制(代码)
查看>>
SQL Server 导入excel时“该值违反了该列的完整性约束”错误
查看>>
SAP 开源 SCA 工具,扫描软件包依赖漏洞
查看>>
嵌入式Linux学习方法——给那些彷徨者(上)
查看>>
Spark中Lambda表达式的变量作用域
查看>>