Cod sursa(job #2026046)

Utilizator tifui.alexandruTifui Ioan Alexandru tifui.alexandru Data 23 septembrie 2017 16:41:22
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <bits/stdc++.h>
#define Nmax 210
#define tip unsigned char
using namespace std;
ifstream f("nunta.in");
ofstream g("nunta.out");
tip a[Nmax],b[Nmax],c[Nmax];
void at(tip *A, tip *B)
{
    for(tip i=1;i<=B[0];i++)
        A[i]=B[i];
    A[0]=B[0];
}
void ad(tip *A, tip *B, tip *C)
{
    int val,r=0;
    C[0]=B[0];
    for(tip i=1;i<=A[0];i++)
    {
        val=A[i]+B[i]+r;
        C[i]=val%10;
        r=val/10;
    }
    for(tip i=A[0]+1;i<=B[0];i++)
    {
        val=B[i]+r;
        C[i]=val%10;
        r=val/10;
    }
    while(r)
    {
        C[++C[0]]=r%10;
        r/=10;
    }
}
int main()
{
    int n,i;
    f>>n;
    if(n==1) {g<<1; return 0;}
    if(n==2) {g<<2; return 0;}
    a[0]=b[0]=1;
    a[1]=1;
    b[1]=2;
    for(i=3;i<=n;i++)
    {
        ad(a,b,c);
        at(a,b);
        at(b,c);
    }
    while(c[0])
        g<<(int)c[c[0]--];

    return 0;
}