Cod sursa(job #49243)

Utilizator fogabFodor Gabor fogab Data 5 aprilie 2007 16:56:42
Problema Fractal Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.68 kb
var f:text;
    x,y:int64;
    p:int64;
    k:byte;
    a:array[0..31] of int64;
procedure go(x,y:longint;t:byte);
begin
if t=0 then exit
else begin
 if x>a[t-1] then
   if y>a[t-1] then
     begin
     p:=p+2*a[2*t-2];
     go(x-a[t-1],y-a[t-1],t-1);
     end
   else
     begin
     p:=p+3*a[2*t-2];
     go(a[t-1]-y+1,a[t]-x+1,t-1);
     end
 else if y>a[t-1] then
     begin
     p:=p+a[2*t-2];
     go(x,y-a[t-1],t-1);
     end
 else go(y,x,t-1);
 end;
end;

begin
a[0]:=1;
for k:=1 to 31 do a[k]:=a[k-1]*2;
assign(f,'fractal.in');
reset(f);
readln(f,k,x,y);
close(f);
go(x,y,k);
assign(f,'fractal.out');
rewrite(f);
writeln(f,p);
close(f);
end.