Cod sursa(job #1311722)

Utilizator firutibogdanFiruti Bogdan-Cristian firutibogdan Data 8 ianuarie 2015 15:45:21
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include<fstream>
using namespace std;
fstream fin,fout;
int d[16];
void f(int y,int x,int k,int &s)
{
    if(k==0)
    {
        return;
    }
    if(y<=d[k-1]&&x<=d[k-1])
    {
        f(x,y,k-1,s);
    }
    else
    {
        if(y>d[k-1]&&x<=d[k-1])
        {
            s=s+d[k-1]*d[k-1];
            f(y-d[k-1],x,k-1,s);
        }
        else
        {
            if(y>d[k-1]&&x>d[k-1])
            {
                s=s+2*d[k-1]*d[k-1];
                f(y-d[k-1],x-d[k-1],k-1,s);
            }
            else
            {
                s=s+3*d[k-1]*d[k-1];
                f(2*d[k-1]-x+1,d[k-1]-y+1,k-1,s);
            }
        }
    }
}
int k,x,s,y,i;
int main()
{
     ifstream fin("fractal.in");
    ofstream fout("fractal.out");
    fin>>k>>x>>y;
    d[0]=1;
    for(i=1;i<=15;i++)
    {
        d[i]=d[i-1]*2;
    }
    f(y,x,k,s);
    fout<<s;
    return 0;
}