Cod sursa(job #3375189)

Utilizator pofianFilipp pofian Data 11 noiembrie 2026 01:24:49
Problema Fractal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <bits/stdc++.h>
using namespace std;

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

// ud\lr 0 1
//    0  0 3
//    1  1 2

int decode(int leftOrRight, int upOrDown) {
	if (leftOrRight == 0) return upOrDown;
			 		 else return 3 - upOrDown;
}


int main() {
	int n, k;
	// fin >> n >> k;
	fin >> n;
	k = 1;

	while (k--) {
		int x, y;
		fin >> x >> y;
		x--;
		y--;
		swap(x, y);
		// x = (16 - k - 1) / 4;
		// y = (16 - k - 1) % 4;
		
		int result = 0;
		int p = (1 << n);
		while (p > 1) {
			p /= 2;
			int leftOrRight = (y >= p);
			int upOrDown    = (x >= p);
			result += decode(leftOrRight, upOrDown) * p * p;
			x %= p;
			y %= p;					
			if (upOrDown == 0) {
				if (leftOrRight) {
					int sx = x, sy = y;
					x = p - 1 - sy;
					y = p - 1 - sx;
				} else {
					swap(x, y);
				}
			}
		}

		if (k % 4 == 0)
			 fout << result << '\n';
		else fout << result << ' ';
	}
}