Pagini recente » Cod sursa (job #620751) | Cod sursa (job #2297235) | Cod sursa (job #1151364) | Cod sursa (job #617825) | Cod sursa (job #1990900)
#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;
}