Cod sursa(job #1226227)

Utilizator blue_skyPetrica Stefan Cosmin blue_sky Data 4 septembrie 2014 20:50:40
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <fstream>
#include <cmath>

using namespace std;
short k;
long long int x,y,q,pasi,aux;

ifstream f("fractal.in");
ofstream g("fractal.out");

int main()
{
    f>>k>>y>>x;
    q=(long)pow((float)2,(float)k);

    while(k>0)
    {
        if(x<=q/2 && y<=q/2) //cadran 1
        {
            aux=x;
            x=y;
            y=aux;
        }
        else if(x>q/2 && y<=q/2) //cadran 2
        {
            pasi+=q/2*q/2;
            x-=q/2;
        }
        else if(x>q/2 && y>q/2) //cadran 3
        {
            pasi+=2*q/2*q/2;
            x-=q/2;
            y-=q/2;
        }
        else if(x<=q/2 && y>q/2) //cadran 4
        {
            pasi+=3*q/2*q/2;
            y-=q/2;
            aux=q/2-x+1;
            x=q/2-y+1;
            y=aux;
        }
        --k;
        q=q/2;
    }
    g<<pasi<<'\n';
    f.close();
    g.close();
    return 0;
}