Cod sursa(job #2031896)

Utilizator MihalachiRazvanMihalachi Razvan MihalachiRazvan Data 3 octombrie 2017 23:05:32
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int k,x,y;
int fractare(int x,int y,int n,int ord)
{
    if(ord==0)
        return 0;
   else if(x>=1&&x<=n/2&&y>=1&&y<=n/2)
        return 0+fractare(y,x,n/2,ord-1);
    else
        if(x>=1&&x<=n/2&&y>n/2&&y<=n)
         return n/2*n/2+fractare(x,y-n/2,n/2,ord-1);
    else
        if(x>n/2&&x<=n&&y>n/2&&y<=n)
         return 2*n/2*n/2+fractare(x-n/2,y-n/2,n/2,ord-1);
    else
      if(x>n/2&&x<=n&&y>=1&&y<=n/2)
         return 3*n/2*n/2+fractare(n/2-y+1,n-x+1,n/2,ord-1);
}
int main()
{
   fin>>k>>x>>y;
   int p=1,aux=0;
   while(aux!=k)
   {p=p*2;
   aux++;}
   fout<<fractare(x,y,p,k);
    return 0;
}