Cod sursa(job #120504)

Utilizator tm_raduToma Radu tm_radu Data 5 ianuarie 2008 18:22:55
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>

int n;
int d[3][300];
int i, j, k, h;

void Add(int k, int i, int j);

int main()
{
    freopen("nunta.in", "r", stdin);
    freopen("nunta.out", "w", stdout);
    scanf("%d", &n);
    d[1][0] = 1, d[1][1] = 1;
    d[2][0] = 1, d[2][1] = 2;
	for ( h = 3; h <= n; h++ )
        Add(h%3, (h+1)%3, (h+2)%3);
    
    for ( i = d[n%3][0]; i >= 1; i-- )
        printf("%d", d[n%3][i]);
        
    printf("\n");
    return 0;
}

void Add(int k, int i, int j)
{
	int l;
	for ( l = 1; l <= d[k][0]; l++ )
		d[k][l] = 0;
	int t = 0;
    for ( l = 1; l <= d[i][0] || l <= d[j][0] || t; l++, t /= 10 )  
        d[k][l] = (t += d[i][l] + d[j][l]) % 10;  
    d[k][0] = l - 1;  
}