Cod sursa(job #1009269)

Utilizator lupuflaviu9lupuflaviu lupuflaviu9 Data 12 octombrie 2013 19:58:48
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
using namespace std;
ifstream fin ("fractal.in");
ofstream fout ("fractal.out");
int p[20],x,y,k,s,i,putere;
int fractal (int k,int x, int y) {
 
   if (k<0){
        return 0;
   }
    if (x<=p[k]&&y<=p[k]) {
        s = fractal (k-1,y,x);
        return s;
    }if (x<=p[k]&&y>p[k]) {
        s = fractal (k-1,2*p[k]-y+1,p[k]-x+1);
        s += (3 * p[k] * p[k]);
        return s;
    }if (x>p[k] && y<= p[k]) {
        s= fractal (k-1,x-p[k],y);
        s += (p[k]*p[k]);
        return s;
    }if (x>p[k] && y>p[k]) {
        s= fractal (k-1,x-p[k],y-p[k]);
        s += (2*p[k]*p[k]);
        return s;
    }
  }

int main () {
 
    putere=1;
    p[0]=1;
    for (i=1;i<=15;i++) {
        putere*=2;
        p[i]=putere;
    }
    fin>>k>>x>>y;
 
    fout<<fractal (k,x,y)<<"\n";
 
    return 0;
}