Pagini recente » Cod sursa (job #350586) | Cod sursa (job #2683659) | Cod sursa (job #2598781) | Cod sursa (job #57013) | Cod sursa (job #575453)
Cod sursa(job #575453)
#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;
x-=p;
int aux=x;
x=y;
y=p-aux+1;
x=p-x+1;
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;
}