Pagini recente » Borderou de evaluare (job #724340) | Borderou de evaluare (job #1996338) | Borderou de evaluare (job #659900) | Borderou de evaluare (job #2095803) | Cod sursa (job #568586)
Cod sursa(job #568586)
#include <stdio.h>
int sol=0;
void crack(int K,int x,int y)
{
if(K>0)
{
int pow=1<<(K-1);
if(x<=pow&&y<=pow) crack(K-1,y,x);
else
if(x>pow&&y<=pow) sol+=pow*pow, crack(K-1,x-pow,y);
else
if(x>pow&&y>pow) sol+=2*pow*pow, crack(K-1,x-pow,y-pow);
else
if(x<=pow&&y>pow) sol+=3*pow*pow, crack(K-1,2*pow-y+1,pow-x+1);
}
}
int main()
{
int K,x,y;
freopen("fractal.in","r",stdin);
scanf("%d%d%d",&K,&x,&y);
crack(K,y,x);
freopen("fractal.out","w",stdout);
printf("%d\n",sol);
return 0;
}