Pagini recente » Cod sursa (job #117755) | Cod sursa (job #544261) | Cod sursa (job #1099703) | Cod sursa (job #1056115) | Cod sursa (job #2813668)
#include <fstream>
using namespace std;
int n,x,y,l,val;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int main()
{
fin>>n>>x>>y;
l=1<<n;
long long val=0;
while(l>0){
l=l/2; /// actualizam latura la latura matricii de ordin inferior
if(x<=l&&y<=l) /// cadranul1
{
swap(x,y);
}
else
if(y>l&&x<=l) /// cadranul 2
{
val+=l*l;
y=y-l; /// actualizare linie
}
else
if(y>l&&x>l) /// cadranul 3
{
val+=2ll*l*l;
y-=l; x-=l; /// actualizare atat linie cat si coloana
}
else
{
val+=3ll*l*l;
x-=l;
int aux=l-x+1;
x=l-y+1;
y=aux;
}
}
fout<<val;
}