Pagini recente » Cod sursa (job #310652) | Cod sursa (job #2650240) | Cod sursa (job #2792000) | Cod sursa (job #178127) | Cod sursa (job #1253947)
#include <cstdio>
using namespace std;
FILE *in = fopen("fractal.in","r");
FILE *out = fopen("fractal.out","w");
int rec(int k, int x , int y){
if(!k){
return 0;
}
int m = 1 << (k-1);
int p = m*m;
if(x<=m && y<=m){
return rec(k-1,x,y);
}else if(x<=m){
return 3*p+rec(k-1, 2*m-y+1, m-x+1 );
}else if(y<=m){
return p+rec(k-1,x-m,y);
}else{
return 2*p+rec(k-1, x-m, y-m);
}
}
int main(){
int k, x, y;
fscanf(in,"%d%d%d",&k,&x,&y);
fprintf(out,"%d\n",rec(k,x,y));
return 0;
}