HDU 2085 核反应堆 递推

题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=2085

 

 

主要求出地推公式就行了

 

x[i]=3*x[i-1]+2*h[i-1];


h[i]=x[i-1]+h[i-1];

 

 

代码如下:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <stack>
using namespace std;

/*
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
*/

__int64 x[35],h[35];

int main()
{
    int n,i;
    x[0]=1;h[0]=0;
    x[1]=3;h[1]=1;
    for(i=2;i<=33;i++)//递推 OK
    {
        x[i]=3*x[i-1]+2*h[i-1];
        h[i]=x[i-1]+h[i-1];
    }
    while(cin>>n&&n!=-1)
    {
        printf("%I64d, %I64d\n",x[n],h[n]);
    }
    return 520;
}


 

你可能感兴趣的:(HDU 2085 核反应堆 递推)