Cod sursa(job #551607)

Utilizator lianaliana tucar liana Data 10 martie 2011 21:42:01
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>
long int n, l, c;

long int nr(long int l, long int c)
{
	long int mjc;
	if (n==1)
	{
		if (l+c==2)	return 0;
		if ((l==2)&&(c==1))	return 1;
		if ((l==2)&&(c==2))	return 2;
		return 3;
	}
	else
	{
		mjc=1<<(n-1); n--;
		if ((l<=mjc)&&(c<=mjc))
			return nr(c,l);
		if ((l>mjc)&&(c<=mjc))
			return mjc*mjc+nr(l-mjc,c);
		if ((l>mjc)&&(c>mjc))
			return 2*mjc*mjc+nr(l-mjc,c-mjc);
		c=c-mjc;
		return 3*mjc*mjc+nr(mjc-c+1,mjc-l+1);
	}
}

int main()
{
	freopen("fractal.in","r",stdin);
	freopen("fractal.out","w",stdout);
	scanf("%ld %ld %ld",&n, &c, &l);
	printf("%ld",nr(l,c));
	return 0;
}