Cod sursa(job #2025015)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 21 septembrie 2017 19:33:19
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>

#define MaxN 305
#define INF 2140000000
#define INFLL 4611686018427387904

using namespace std;

FILE *IN,*OUT;

int N;
char v[3][MaxN];
void sum(char *a,char *b)
{
    int t=0,l=max(a[0],b[0]);
    for(int i=1;i<=l;i++)
    {
        a[i]+=b[i]+t;
        t=a[i]/10;
        a[i]%=10;
        if(i==l&&t>0)
            l++;
    }
    a[0]=l;
}
int main()
{
    IN=fopen("nunta.in","r");
    OUT=fopen("nunta.out","w");

    fscanf(IN,"%d",&N);

    v[1][0]=v[1][1]=1;

    for(int i=1;i<=N+1;i++)
    {
        sum(v[2],v[0]);
        sum(v[2],v[1]);
        memcpy(v[0],v[1],sizeof v[0]);
        memcpy(v[1],v[2],sizeof v[1]);
        memset(v[2],0,sizeof v[2]);
    }
    for(int i=v[0][0];i>0;i--)
        fprintf(OUT,"%d",v[0][i]);
    return 0;
}