Cod sursa(job #1696921)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 30 aprilie 2016 12:43:20
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <cstdio>

using namespace std;

int k,x,y,dist=0,comp,aux;
int main()
{
	freopen("fractal.in","r",stdin);
	freopen("fractal.out","w",stdout);
	scanf("%d%d%d",&k,&x,&y);
	comp=1<<k;
	while(k>0)
	{
		k--;
		comp>>=1;
		if(x>comp)
			if(y>comp)
			{
				dist+=2*comp*comp;
				x-=comp;
				y-=comp;
			}
			else
			{
				dist+=3*comp*comp;
				aux=x;
				x=comp-y+1;
				y=2*comp-aux+1;
			}
		else if(y>comp)
		{
			dist+=comp*comp;
			y-=comp;
		}
		else
		{
			aux=x;
			x=y;
			y=aux;
		}
	}
	printf("%d",dist);
	return 0;
}