Pagini recente » Cod sursa (job #1494140) | Cod sursa (job #2381722) | Cod sursa (job #2787904) | Cod sursa (job #2580220) | Cod sursa (job #575450)
Cod sursa(job #575450)
#include<fstream>
using namespace std;
ifstream fi("fractal.in");
ofstream fo("fractal.out");
int k,x,y,i,p,sol,ok,xx;
void op(){
p/=2;
--k;
ok=0;
}
int main() {
fi>>k>>x>>y;
for(i=1,p=1;i<=k;++i,p*=2);
p/=2;
xx=1;
while(k){
ok=1;
if(x<=p&&y<=p&&ok){
int aux=x;
x=p-y+1;
y=aux;
x=p-x+1;
op();
}
if(x<=p&&y>p&&ok){
sol+=xx*p*p;
y-=p;
op();
}
if(x>p&&y<=p&&ok){
sol+=xx*3*p*p;
sol+=xx*p*p;
xx*=-1;
x-=p;
int aux=x;
x=y;
y=p-aux+1;
op();
}
if(x>p&&y>p&&ok){
sol+=2*xx*p*p;
x-=p;
y-=p;
op();
}
}
sol--;
if (sol<0)
sol=0;
fo<<sol;
fo.close();
fi.close();
return 0;
}