Cod sursa(job #1412121)

Utilizator robx12lnLinca Robert robx12ln Data 1 aprilie 2015 09:41:42
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<cstdio>
#include<cstring>
using namespace std;
FILE * fin=fopen("nunta.in","r");
FILE * fout=fopen("nunta.out","w");
int a[211],b[211],c[211];
int n,m,t,i,j;
int main(){
    //fin>>n;
    fscanf(fin,"%d",&n);
    n++;
    if(n<=2){
        fprintf(fout,"%d",1);
        return 0;
    }
    a[0]=a[1]=1;
    b[0]=b[1]=1;
    for(i=3;i<=n;i++){
        memset(c,0,sizeof(c));
        m=a[0];
        if(m<b[0]){
            m=b[0];
        }
        c[0]=m;
        t=0;
        for(j=1;j<=m;j++){
            c[j]=a[j]+b[j]+t;
            t=c[j]/10;
            c[j]%=10;
        }
        if(t){
            c[++c[0]]=t;
            t=0;
        }
        memcpy(a,b,sizeof(b));
        memcpy(b,c,sizeof(c));
    }
    for(i=c[0];i>=1;i--){
         fprintf(fout,"%d",c[i]);
    }
    return 0;
}