Cod sursa(job #467936)

Utilizator lianaliana tucar liana Data 1 iulie 2010 13:42:09
Problema Ratphu Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.83 kb
program ratphu;
var f, g:text;
    i, x, p, n, j, k, r:longint;
    nr:array[0..262150,0..20] of longint;
    v:array[1..20] of longint;

procedure citire;
  begin
    read(f,x,p);
    while x>0 do
      begin
        n:=n+1;
        v[n]:=x mod 10;
        x:=x div 10;
      end;
  end;

procedure rezolvare;
  begin
    nr[0,0]:=1;
    for i:=0 to 1 shl n-1 do
      for j:=0 to p-1 do
        if nr[i,j]>0 then
        for k:=0 to n-1 do
          if i and (1 shl k)=0 then
            begin
              x:=i or (1 shl k);
              r:=(j*10+v[k+1]) mod p;
              nr[x,r]:=nr[x,r]+nr[i,j];
            end;
    writeln(g,nr[1 shl n-1,0]);
  end;

  begin
    assign(f,'ratphu.in'); reset(f);
    assign(g,'ratphu.out'); rewrite(g);
    citire;
    rezolvare;
    close(f);
    close(g);
  end.