Pagini recente » Cod sursa (job #595658) | Cod sursa (job #2624578) | Cod sursa (job #891401) | Cod sursa (job #2070900) | Cod sursa (job #475140)
Cod sursa(job #475140)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int i,c[20],k,x,y,rez,med,xp,yp;
/*
1 | 4
--|--
2 | 3
*/
int main()
{
c[0]=1;
c[1]=3;
for(i=2;i<=15;i++) {
c[i]=4*c[i-1]+3;
cout<<"c["<<i<<"]="<<c[i]<<"\n";
}
fin>>k>>x>>y;
rez=0;
med=1<<k-1;
while (k>0) {
if (x<=med+xp&&y<=med+yp) { //cadran 1
rez+=0; cout<<k<<" c1\n";
xp+=0; yp+=0;
}
else if (x<=med+xp&&y>med+yp) { //cadran 2
rez+=c[k]-3*c[k-1]; cout<<k<<" c2\n";
xp+=0; yp+=med;
}
else if (x>med+xp&&y>med+yp) { //cadran 3
rez+=c[k]-2*c[k-1]; cout<<k<<" c3\n";
xp+=med; yp+=med;
}
else if (x>med+xp&&y<=med+yp) { //cadran 4
rez+=c[k]-c[k-1]; cout<<k<<" c4\n";
xp+=med; yp+=0;
}
k--;
}
fout<<rez;
fout.close();
return 0;
}