Cod sursa(job #3185084)

Utilizator alex210046Bratu Alexandru alex210046 Data 17 decembrie 2023 21:50:21
Problema Nunta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
using namespace std;
const int NMAX = 301;
int n, crt[NMAX] = {1, 1}, prec[NMAX] = {1, 1}, aux[NMAX];
ifstream f("nunta.in");
ofstream g("nunta.out");

void add(int A[], int B[]) {
    int t = 0;
    for(int i = 1 ; i <= max(A[0], B[0]); i++) {
        t += A[i] + B[i];
        A[i] = t % 10;
        t /= 10;
    }
    while(t) {
        A[++A[0]] = t % 10;
        t /= 10;
    }
}

void cpy(int A[], int B[]) {
    for(int i = 0; i <= B[0]; i++)
        A[i] = B[i];
}

void afis() {
    for(int i = crt[0]; i >= 1; i--)
        g << crt[i];
}

int main()
{
    f >> n;
    if(n <= 2) {
        g << n;
        return 0;
    }
    for (int i = 2; i <= n; i++) {
        cpy(aux, crt);
        add(crt, prec);
        cpy(prec, aux);
    }
    afis();

    f.close();
    g.close();
    return 0;
}