Cod sursa(job #2138802)

Utilizator blacktundraTudorescu Ana-Maria blacktundra Data 21 februarie 2018 21:24:31
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

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

int k,a,b,ans;

void Divide(int k,int x,int y)
{
    if(k==0)return ;
    int mid=(1<<(k-1));
    if(x<=mid&&y<=mid)Divide(k-1,y,x);
    else if(x>mid&&y<=mid)
    {
        ans+=mid*mid;
        Divide(k-1,x-mid,y);
    }
    else if(x>mid&&y>mid)
    {
        ans+=2*mid*mid;
        Divide(k-1,x-mid,y-mid);
    }
    else if(x<=mid&&y>mid)
    {
        ans+=3*mid*mid;
        Divide(k-1,2*mid-y+1,mid-x+1);
    }
}

int main()
{
    f>>k>>a>>b;
    Divide(k,b,a);
    g<<ans;
}