Pagini recente » Cod sursa (job #2523205) | Cod sursa (job #1645619) | Cod sursa (job #2494757) | Cod sursa (job #1954809) | Cod sursa (job #1754200)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int k,l=0,p=1,i,col,lin,r=0,rot=0;
FILE *in;
in=fopen("fractal.in","r");
fscanf(in,"%d%d%d",&k,&col,&lin);
fclose(in);
for(i=1;i<k;i++){
l=l*4+3;
p=p*2;
}
while(l>0){
if(col<=p && lin<=p) rot=1;
if(col>p && lin<=p){
r=r+l*3+3;
col=col-p;
if(rot==1){
col=p-col;
}
rot=1;
}
if(col<=p && lin>p){
r=r+(rot==1?3*l+2:l+1);
lin=lin-p;
if(rot==1){
col=p-col;
}
rot=0;
}
if(col>p && lin>p){
r=r+(rot==1?2*l+1:2*l+2);
col=col-p;
lin=lin-p;
if(rot==1){
col=p-col;
}
rot=0;
}
l=(l-3)/4;
p=p/2;
}
FILE *out;
out=fopen("fractal.out","w");
fprintf(out,"%d",r);
return 0;
}