Cod sursa(job #2425068)

Utilizator Tibi55Ionescu Tiberiu Tibi55 Data 24 mai 2019 10:45:18
Problema Nunta Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("nunta.in");
ofstream g("nunta.out");
const int MAXN = 215;
unsigned char a[MAXN] = {1, 1}, b[MAXN] = {1, 2}, *m1 = a, *m2 = b;
void adunare(unsigned char a[], unsigned char b[])
{
    int t = 0;
    if(a[0] < b[0])
        a[0] = b[0];
    for(int i = 1; i <= a[0]; i++)
    {
        t += a[i] + b[i];
        a[i] = t % 10;
        t /= 10;
    }
    if(t > 0)
        a[++a[0]] = 1;
}
int main()
{
    int n, i;
    f >> n;
    if(n <= 2)
        m2[1] = n;
    else
    {
        for(i = 3; i <= n; i++)
        {
            adunare(m1, m2);
            swap(m1, m2);
        }
        for(i = m2[0]; i >= 1; i--)
            g << int(m2[i]);
    }
    return 0;
}