码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 2160

时间:2016-03-14 18:37:21      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

一开始最容易想到的思路是用四个数组分别记录当晚 当天新出生的猪,已经生了一头的猪,已经生了两头的猪,当天总共的猪的数量。

然后就见代码。但是后面还有一个斐波那契数列的解法。

#include <iostream>
using namespace std;
int a[22];
int b[22];
int c[22];
int d[22];
int main()
{
    int t,n;
    a[1]=1;b[1]=0;c[1]=0;d[1]=1;
    for(int i=2;i<21;i++)
    {
        a[i]=d[i-1];
        b[i]=a[i-1];
        c[i]=b[i-1];
        d[i]=a[i]+b[i];
    }
    cin>>t;
    while(cin>>n)
    {
        cout<<d[n]<<endl;
    }
    return 0;
}

思路2:

可以继续化简。

step1:首先这个c数组显然是没有用的。

step2:d[i]=a[i]+b[i];

    a[i]=d[i-1];

    b[i]=a[i-1]=d[i-2];

    所以d[i]=d[i-1]+d[i-2];

就是斐波那契数列,代码就不写了。

hdu 2160

标签:

原文地址:http://www.cnblogs.com/luosuo10/p/5276322.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!