Cod sursa(job #2856084)

Utilizator rares89_Dumitriu Rares rares89_ Data 23 februarie 2022 12:42:46
Problema Fractal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("fractal.in");
ofstream fout("fractal.out");

int n, x, y;

int main() {
    fin >> n >> x >> y;
    fin.close();
    int l = (1 << n);
    long long int val = 0;
    while(l > 0) {
        l /= 2;
        if(x <= l && y <= l) {
            swap(x, y);
        } else if(y > l && x <= l) {
            val += l * l;
            y -= l;
        } else if(y > l && x > l) {
            val += 2ll * l * l;
            y -= l;
            x -= l;
        } else {
            val += 3ll * l * l;
            x -= l;
            int aux = l - x + 1;
            x = l - y + 1;
            y = aux;
        }
    }
    fout << val;
    return 0;
}