Cod sursa(job #1274984)
Utilizator | Sebastian lokixd | Data | 24 noiembrie 2014 17:15:45 |
---|---|---|---|
Problema | Fractal | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.89 kb |
#include <fstream>
using namespace std;
int main()
{
ifstream is("fractal.in");
ofstream os("fractal.out");
unsigned ord, x, y, mv(0), dim;
is >> ord >> x >> y;
dim = 1 << ord;
do
{
dim /= 2;
if((x <= dim)&&(y <= dim))
{
unsigned aux = x;
x = y;
y = aux;
}
else if(x <= dim)
{
mv += dim*dim;
y -= dim;
}
else if(y > dim)
{
mv += 2*dim*dim;
x -= dim;
y -= dim;
}
else
{
mv += 3*dim*dim;
x -= dim;
unsigned aux = x;
x = dim + 1 - y;
y = dim + 1 - aux;
}
}while(dim != 1);
os << mv;
os.close();
is.close();
return 0;
}