Cod sursa(job #1503156)

Utilizator Julian.FMI Caluian Iulian Julian. Data 15 octombrie 2015 17:41:48
Problema Fractal Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
long doi[16],patru[16];

int main()
{long n,x,y,aux,val,nr,rez,i;

    fin>>n>>y>>x;
    rez=0;
    doi[0]=patru[0]=1;
    for(i=1;i<=15;i++)
    { doi[i]=2*doi[i-1];
      patru[i]=4*patru[i-1];  }

    while(n>0)
    {nr=doi[n-1];
    val=patru[n-1];
    if(x<=nr && y<=nr)
        {swap(x,y);
         n--;
         continue;
        }
    else if(x>nr && y<=nr)
        {rez+=val;
         y-=nr;
         n--;
         continue;
         }
    else if(x>nr && y>nr)
        {rez+=2*val;
         y-=nr;
         x-=nr;
         n--;
         continue;
        }
    else
        {rez+=3*val;
         aux=x;
         y-=nr;
         x=nr-y+1;
         y=nr-aux+1;
         n--;
         continue;
        }
    }
    fout<<rez;


}