Pagini recente » Cod sursa (job #1690423) | Cod sursa (job #766584) | Cod sursa (job #217112) | Cod sursa (job #1747931) | Cod sursa (job #1007767)
#include <fstream>
int i, j, k, sol, lin, col, n;
using namespace std;
int main(){
ifstream fin("fractal.in");
ofstream fout("fractal.out");
fin>>k>>j>>i;
while (k!=0) {
// sunt in patrat cu 2^k * 2^k punte
k--;
if (i<=(1<<k)) {
if (j<=(1<<k)) {
n = (1<<(k));
lin = j;
col = n-i+1;
i = lin;
j = col;
j = n-j+1;
} else {
sol += (1<<k) * (1<<k) * 3;
n = (1<<(k));
j-=(1<<k);
lin = n-j+1;
col = i;
i = lin;
j = col;
j = n-j+1;
}
} else {
if (j<=(1<<k)) {
sol += (1<<k) * (1<<k);
i -= (1<<k);
} else {
sol += (1<<k) * (1<<k) * 2;
i-= (1<<k);
j-= (1<<k);
}
}
}
fout<<sol;
return 0;
}