Cod sursa(job #1253958)

Utilizator Master011Dragos Martac Master011 Data 1 noiembrie 2014 23:33:41
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#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,y,x);
    }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,y,x));
    return 0;
}