Cod sursa(job #465653)

Utilizator nbibestNeagu Bogdan Ioan nbibest Data 25 iunie 2010 11:10:39
Problema Ratphu Scor 30
Compilator fpc Status done
Runda Stelele Informaticii 2010, gimnaziu si clasa a IX-a, Ziua 1 Marime 1.46 kb
var     i,j,p,m,k,nn:longint;
        n,x:qword;
        v,a:array[1..20] of byte;



function valid:boolean;
var i:longint;
begin
        valid:=true;
        for i:=1 to k-1 do
        if v[k]=v[i] then
        valid:=false;

end;


procedure afis;
begin

x:=0;
for i:=1 to nn do
begin
        x:=x*10+a[v[i]];
end;

if x mod p =0 then
inc(m);

end;


procedure bk;
var     cont:boolean;
begin

        k:=1;
        v[k]:=0;

        while k>0 do
        begin

                cont:=false;
                while (v[k]<nn)and (not cont) do
                begin
                        inc(v[k]);
                        if valid then
                        cont:=true;
                end;

                if not cont then
                begin

                        k:=k-1;

                end
                else
                begin
                if k=nn then
                begin
                        afis;


                end
                else
                begin
                        inc(k);
                        v[k]:=0;
                end;
                end;

        end;


end;

begin

assign(input,'ratphu.in');
assign(output,'ratphu.out');
reset(input);
rewrite(output);

read(n,p);
close(input);

i:=0;
while n<>0 do
begin
        inc(i);
        a[i]:=n mod 10;
        n:=n div 10;
end;

nn:=i;

//if nn<9 then
bk;

write(m);
close(output);
end.