Pagini recente » Cod sursa (job #1506755) | Cod sursa (job #1240471) | Cod sursa (job #2294177) | Cod sursa (job #50548) | Cod sursa (job #575398)
Cod sursa(job #575398)
#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;
y=aux;
sol+=p*p*xx;
xx*=-1;
op();
}
if(x<=p&&y>p&&ok){
sol+=xx*p*p;
y-=p;
op();
}
if(x>p&&y<=p&&ok){
sol+=xx*4*p*p;
xx*=-1;
x-=p;
int aux=x;
x=y;
y=p-aux;
op();
}
if(x>p&&y>p&&ok){
sol+=2*xx*p*p;
x-=p;
y-=p;
op();
}
}
fo<<sol;
fo.close();
fi.close();
return 0;
}