pku 1953_DP

pku 1953_DP
//找规律,类似斐波那契数列
/**/ /*
Proof:

Suppose a is the string.

if a[n]=0;
then a[n]=a[n-1];

if a[n]=1;
then a[n-1] must be 0;
so a[n]=a[n-2];

'Cause a[n]=0 or a[n]=1;
so a[n]=a[n-1]+a[n-2];
*/


#include
< iostream >
using   namespace  std;

__int64 f[
46 ];

void  fib()
{
    
int i;
    f[
1]=2;
    f[
2]=3;
    
for(i=3;i<=46;i++)
        f[i]
=f[i-1]+f[i-2];
}


int  main()
{
    
int s,t,k;
    scanf(
"%d",&s);
    fib();
    
for(k=1;k<=s;k++)
    
{
        scanf(
"%d",&t);
        printf(
"Scenario #%d:\n%d\n\n",k,f[t]);
    }

    
return 0;
}

你可能感兴趣的:(pku 1953_DP)