Cod sursa(job #1997354)

Utilizator MihaelaCismaruMihaela Cismaru MihaelaCismaru Data 3 iulie 2017 23:53:03
Problema Fractal Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<fstream>
using namespace std;
ifstream in("fractal.in");
ofstream out("fractal.out");
int p[17],k,x,y,pasi,a,b,i;
void fractal( int k , int x , int y ){
    if( k > 0 ){
        if( x <= p[k-1] && y <= p[k-1] ){
             fractal(k-1,y,x );
        }
        if( x > p[k-1]  && y <= p[k-1] ){
            pasi+= p[k-1]*p[k-1];
            fractal( k-1,x,x-p[k-1]);
        }
        if( x <= p[k-1] && y > p[k-1] ){
            pasi+= p[k-1]*p[k-1]*3;
            fractal(k-1, p[k] + 1  - y  , p[k-1] - x + 1 );
        }
        if( x > p[k-1]  && y > p[k-1] ){
            pasi+= p[k-1]*p[k-1]*2;
            fractal( k - 1, x-p[k-1],y-p[k-1] );
        }
    }
    return;
}
int main(){
    in >> k >> y >> x;
    p[0] = 1;
    for( i = 1; i <= 15; i ++ ){
        p[i] = p[i-1]*2;
    }
    fractal( k,x,y );
    out<<pasi;
    return 0;
}