hdu 2160
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu 2160相关的知识,希望对你有一定的参考价值。
一开始最容易想到的思路是用四个数组分别记录当晚 当天新出生的猪,已经生了一头的猪,已经生了两头的猪,当天总共的猪的数量。
然后就见代码。但是后面还有一个斐波那契数列的解法。
#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的主要内容,如果未能解决你的问题,请参考以下文章
HDU4057 Rescue the Rabbit(AC自动机+状压DP)