Cod sursa(job #117171)

Utilizator cos_minBondane Cosmin cos_min Data 20 decembrie 2007 21:01:43
Problema Nunta Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>
#include <vector>
using namespace std;

#define in "nunta.in"
#define out "nunta.out"
#define dim 1001

int N;
int A[dim], B[dim], C[dim];

void Adunare();

int main()
{
    freopen(in,"r",stdin);
    freopen(out,"w",stdout);
    
    scanf("%d", &N);
    
    B[1] = ( 1 + (A[0] = A[1] = B[0] = 1) ); // :D
    
    for ( int i = 3; i <= N; i++ )
    {
        Adunare();
        
        for ( int k = B[0]; k >= 0; k-- ) A[k] = B[k];
        for ( int k = C[0]; k >= 0; k-- ) B[k] = C[k];
    }
    
    for ( int i = C[0]; i >= 1; i-- )
        printf("%d", C[i]);
}

void Adunare()
{
     int i, t=0;
     for ( i = 1; i <= A[0] || i <= B[0] || t; i++, t /= 10 )
         C[i] = ( t += A[i] + B[i] ) % 10;
     
     C[0] = i-1;
}