Cod sursa(job #2020469)

Utilizator DianaPopDiana Pop DianaPop Data 10 septembrie 2017 14:07:05
Problema Fractal Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>
#include <math.h>
int x , y;
int k;

int recursive( int x , int y , int k ){
    if ( k == 1 ){
      return 0;
    }

    k = k / 2;

    if( y <= k && x <= k ){
      return recursive( y , x , k );
    }

    if( x <= k ){
      return recursive( k - ( y - k ) + 1 , k - x + 1 , k ) + 3 * k * k;
    }

    if( y <= k ){
      return recursive( x - k , y  , k ) + k * k;
    }

    return recursive( x - k , y - k , k ) + 2 * k * k;
}


int main(){

    freopen( "fractal.in" , "r" , stdin );
    freopen( "fractal.out" , "w" , stdout );

    scanf( "%d %d %d" , &k , &y , &x );

    printf( "%d" , recursive( x , y , pow( 2 , k )));

    return 0;
}