Cod sursa(job #168079)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 30 martie 2008 18:15:00
Problema Multiplu Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.76 kb
Var f,g:text;
r1,u,p,m,a,b,i,l,q:longint;
x,y,r:array[0..2000001] of longint;
z:array[0..2000001] of boolean;
Begin
assign(f,'multiplu.in');reset(f);
assign(g,'multiplu.out');rewrite(g);
readln(f,a,b);
q:=a*b;
while b<>0 do begin
r1:=a mod b;
a:=b;
b:=r1;
end;
m:=q div a;
r[1]:=1;
x[1]:=1;
y[1]:=1;
p:=1;
u:=1;
while p<=u do begin
      inc(u);
      r[u]:=(r[p]*10) mod m;
      x[u]:=0;
      y[u]:=p;
      z[r[u]]:=true;
      inc(u);
      r[u]:=(r[p]*10+1) mod m;
      x[u]:=1;
      y[u]:=p;
      z[r[u]]:=true;
        if (r[u]=0) then break;
  inc(p);
  end;
while u<>y[u] do begin
  inc(r[0]);
  r[r[0]]:=x[u];
  u:=y[u];
end;
inc(r[0]);
r[r[0]]:=1;
for i:=r[0] downto 1 do
        write(g,r[i]);
close(f);
close(g);
end.