Pagini recente » Cod sursa (job #3139041) | Cod sursa (job #647408) | Cod sursa (job #2114813) | Cod sursa (job #2274215) | Cod sursa (job #815247)
Cod sursa(job #815247)
#include <fstream>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int power(int a, int b)
{
int or_a=a;
if(b==0)
return 1;
if(b==1)
return a;
for(int i=1;i<b;i++)
a*=or_a;
return a;
}
int round_up(int a)
{
int i=0;
while(a>power(2,i))
i++;
return i;
}
int main()
{
int x,y,k,square_size;
fin>>k>>x>>y;
square_size = round_up(x);
if(round_up(y)>square_size)
square_size = round_up(y);
int steps = 1;
for(int i=0;i<square_size;i++)
{
steps*=4;
}
int pow;
pow = power(2,k);
if(x<=pow/2)
{
if(y<=pow/2)
steps-=3;
else
steps-=2;
}
if(x>=pow/2+1)
{
if(y>=pow/2+1)
steps-=1;
else
steps--;
}
if(steps<0)
steps=0;
fout << steps;
}