Cod sursa(job #233844)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 19 decembrie 2008 14:02:50
Problema Fractal Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.9 kb
var f,g:text;
    k,x,y:longint;
    s:int64;

procedure rez(k,x,y:longint);
var i,ml,mc,l,m,c:longint;
    p:int64;
begin
  if (k>0)then
    begin
      p:=1 shl (k*2-2);
      l:=1 shl k;
      m:=l div 2;
      if (x<=m)then
        begin
          if (y>m)then
            begin
              inc(s,3*p);
              x:=m-x+1;
              y:=2*m-y+1;
            end;
          c:=x;
          x:=y;
          y:=c;
        end else
        begin
          if (y<=m)then
            begin
              dec(x,m);
              inc(s,p);
            end else
            begin
              dec(x,m);
              dec(y,m);
              inc(s,2*p);
            end;
        end;
      rez(k-1,x,y);
    end;
end;

begin
assign(f,'fractal.in');
assign(g,'fractal.out');
reset(f);
rewrite(g);
read(f,k,y,x);
rez(k,x,y);
writeln(g,s);
close(f);
close(g);
end.