Cod sursa(job #1990900)

Utilizator horiacoolNedelcu Horia Alexandru horiacool Data 14 iunie 2017 03:42:18
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fractal.in");
ofstream g("fractal.out");
int K,X,Y,putere[16];
int Fractal(int k,int x,int y)
{
    if( k == 0)
        return 1;
    if( x <= putere[k-1] && y <= putere[k-1] )
        return 0*putere[k-1]*putere[k-1] + Fractal(k-1,y,x);
    if( x <= putere[k-1] && y >  putere[k-1] )
        return 1*putere[k-1]*putere[k-1] + Fractal(k-1,x,y-putere[k-1]);
    if( x >  putere[k-1] && y >  putere[k-1] )
        return 2*putere[k-1]*putere[k-1] + Fractal(k-1,x-putere[k-1],y-putere[k-1]);
    if( x >  putere[k-1] && y <= putere[k-1] )
        return 3*putere[k-1]*putere[k-1] + Fractal(k-1,putere[k-1]+1-y,putere[k-1]+1-(x-putere[k-1]));
    return 0;
}
int main()
{
    f>>K>>X>>Y;
    putere[0] = 1;
    for(int i = 1 ; i <= K ; i++)
        putere[i] = putere[i-1]*2;
    g<<Fractal(K,X,Y)-1;
    return 0;
}