Pagini recente » Cod sursa (job #2684002) | Cod sursa (job #2528724) | Cod sursa (job #3243128) | Cod sursa (job #2187433) | Cod sursa (job #515312)
Cod sursa(job #515312)
#include <stdio.h>
int main()
{
int k, x, y, dimCadran, cadran, rez = 0, aux;
freopen("fractal.in", "r", stdin);
freopen("fractal.out", "w", stdout);
scanf("%d %d %d", &k, &x, &y);
for(; k >= 1; --k)
{
dimCadran = 1<<(k-1);
if(x <= dimCadran)
if(y <= dimCadran) cadran = 1; //x , y < d
else cadran = 2; //x < d, y > d
else if(y <= dimCadran) cadran = 4; //x > d, y < d
else cadran = 3;
rez += dimCadran * dimCadran * (cadran-1);
if(cadran == 2)
{
y -= dimCadran;
}
else if(cadran == 3)
{
x -= dimCadran; y -= dimCadran;
}
else if(cadran == 4)
{
x -= dimCadran;
aux = x; x = dimCadran+1 - y; y = dimCadran+1 - aux;
}
else if(cadran == 1)
{
aux = x; x = y; y = aux;
}
}
printf("%d\n", rez);
return 0;
}