Cod sursa(job #1731042)

Utilizator tamionvTamio Vesa Nakajima tamionv Data 18 iulie 2016 10:32:56
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <bits/stdc++.h>
using namespace std;

int main(){
	ifstream f("fractal.in");
	ofstream g("fractal.out");

	int x, y, k;
	f >> k >> x >> y;
	--x, --y;

	int rez = 0;

	for( ; k; --k){
		const int len = 1<<(k-1);
		if(x < len && y < len){
			swap(x, y); }
		else if(x < len && y >= len){
			y -= len;
			rez += len * len; }
		else if(x >= len && y >= len){
			x -= len, y -= len;
			rez += 2 * len * len; }
		else{
			x -= len;
			swap(x, y);
			x = len-1-x, y = len-1-y;

			rez += 3 * len * len; } }

	g << rez << '\n';
	return 0; }