Cod sursa(job #190494)

Utilizator crusRus Cristian crus Data 22 mai 2008 21:41:12
Problema Nunta Scor 70
Compilator c Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <stdio.h>
#define input "nunta.in"
#define output "nunta.out"
#define nmax 100
int n,s[nmax][nmax];
void citire()
{
 freopen(input,"r",stdin);
 scanf("%d",&n);
}
void add(int d[], int s[])
{
 int i,t=0;
 if (s[0]>d[0]) d[0]=s[0];
 for (i=1;i<=d[0];i++)
     {
      d[i]+=t+s[i];
      t=d[i]/10;
      d[i]%=10;
     }
 while (t)
       {
	d[0]++;
	d[d[0]]=t%10;
	t/=10;
       }
}
void fill(int d[],int v,int n)
{
 int i;
 for (i=0;i<=n;i++) d[i]=v;
}
void solve()
{
 int i;
 s[1][1]=1;
 s[1][0]=1;
 s[2][1]=2;
 s[2][0]=1;
 for (i=3;i<=n;i++)
     {
      fill(s[i],0,n);
      add(s[i],s[i-1]);
      add(s[i],s[i-2]);
     }
}
void afisare()
{
 int i;
 freopen(output,"w",stdout);
 for (i=s[n][0];i;i--)
     printf("%d",s[n][i]);
}
int main()
{
 citire();
 solve();
 afisare();
 return 0;
}