Cod sursa(job #651469)

Utilizator OpportunityVlad Negura Opportunity Data 20 decembrie 2011 15:59:30
Problema Fractal Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
#include<math.h>

long int suma=0;

void rec(int k,int x,int y){
 if (k>0){
  int l=(1<<k-1);
  if (x<=l && y<=l) { rec(k-1,y,x); }else
  if (x<=l && y>l) { suma+=l*l; rec(k-1,x,y-l); }else
  if (x>l && y>l) { suma+=2*l*l; rec(k-1,x-l,y-l); }else
  if (x>l && y<=l) { suma+=3*l*l; rec(k-1,x-l,y); }
 }
}

int main(){
 FILE *fi,*fo;
 int k,x,y;
 fi=fopen("fractal.in","r"); fo=fopen("fractal.out","w");
  fscanf(fi,"%i%i%i",&k,&x,&y);

  rec(k,x,y);

  fprintf(fo,"%li",suma);
 fclose(fi); fclose(fo); return 0;
}