Pagini recente » Cod sursa (job #2045111) | Cod sursa (job #1232091) | Cod sursa (job #208619) | Cod sursa (job #2184571) | Cod sursa (job #2036471)
#include <iostream>
#include <cstdio>
using namespace std;
int x,y,k,a[1000][1000],n=1;
void citire()
{
scanf("%d%d%d",&k,&x,&y);
}
void putere()
{
for(int i=1;i<=k;i++)
n*=2;
}
int rec(int x,int y,int n)
{
if(n==0&&x==1&&y==1)
return 0;
if(x>n/2&&y>n/2)
return 2*(n*n)/4+rec(x-n/2,y-n/2,n/2);
else
if(x>n/2&&y<=n/2)
return (n*n)/4+rec(n-y+1-n/2,n-x+1,n/2);
else
if(x<=n/2&&y>n/2)
return 3*(n*n)/4+rec(x,y-n/2,n/2);
else
if(x<=n/2&&y<=n/2)
return rec(y,x,n/2);
}
void afisare()
{
printf("%d",rec(x,y,n));
}
int main()
{
freopen("fractal.in","r",stdin);
freopen("fractal.out","w",stdout);
citire();
putere();
rec(x,y,n);
afisare();
return 0;
}