Cod sursa(job #1140441)

Utilizator CostanMiriamCostan Miriam CostanMiriam Data 11 martie 2014 23:37:29
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <cstdio>

using namespace std;

//ifstream fin ("nunta.in");
//ofstream fout ("nunta.out");

int n, i, d[3][215],j,t,maxim;


int main () {

    freopen ("nunta.in","r",stdin);
    freopen ("nunta.out","w",stdout);
    //fin>>n;
    scanf("%d",&n);
    d[0][0]=d[0][1]=d[1][0]=1;
    d[1][1]=2;
    for (i=3;i<=n;i++){
        maxim=d[0][0];
        t=0;
        if (d[1][0]>maxim)
            maxim=d[1][0];
        for (j=1;j<=maxim;j++) {
            d[2][j]=d[0][j]+d[1][j]+t;
            t=d[2][j]/10;
            d[2][j]%=10;
        }
        d[2][0]=maxim;
        if (t!=0)
            d[2][++d[2][0]]=t;
        for (j=0;j<=d[1][0];j++)
            d[0][j]=d[1][j];
        for (j=0;j<=d[2][0];j++)
            d[1][j]=d[2][j];
    }
    if (n<=2) {
        printf("%d\n", d[n-1][1]);
        return 0;
    }
    for (i=d[2][0];i>=1;i--)
        printf("%d", d[2][i]);
        //fout<<d[2][i];


    return 0;
}