Cod sursa(job #3209183)

Utilizator AlexPlesescuAlexPlesescu AlexPlesescu Data 2 martie 2024 10:09:22
Problema Patrate2 Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;
#define int unsigned long long int

int ans, ocupat, n;

int lgpow(int a, int n)
{
    if (!n)
        return 1;
    else
    {
        if (n % 2)
            return a * lgpow(a, n - 1);
        else
        {
            int c = lgpow(a, n/2);
            return c * c;
        }
    }
}

signed main()
{
    freopen("patrate2.in", "r", stdin);
    freopen("patrate2.out", "w", stdout);
    cin >> n;
    if (n == 1)
    {
        cout << 2;
        return 0;
    }
    ans = lgpow(2LL, n);
    ocupat = 0;
    for (int i = 1; i <= n; i++)
    {
        ans *= (n - i + 1) * lgpow(2LL, n - 1);
    }
    cout << ans;
    return 0;
}