Cod sursa(job #1274984)

Utilizator lokixdSebastian 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;
}