Cod sursa(job #1330524)

Utilizator felixiPuscasu Felix felixi Data 30 ianuarie 2015 19:14:58
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 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;
}