Cod sursa(job #1586143)

Utilizator mirelabocsabocsa mirela mirelabocsa Data 31 ianuarie 2016 20:01:56
Problema Lista lui Andrei Scor 15
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.05 kb
program mire;
var f,g:text;
    n,m:integer;
    a:array[0..27,0..27] of 0..1;
    s:array[-1..1001, -1..27] of longint;
procedure citire;
var i:integer;
     x,z,y:char;
begin
  assign(f,'nrcuv.in'); reset(f);
  assign(g,'nrcuv.out'); rewrite(g);
   readln(f,n,m);
   for i:=1 to m do
     begin
        readln(f,x,z,y);
        a[ord(x)-96,ord(y)-96]:=1;
        a[ord(y)-96,ord(x)-96]:=1;
     end;
  close(f);
end;
procedure dinamica;
var i,j,k:integer;
      su:longint;
begin
 //s[i,j]= nr de cuv de lungime i ce pot fii formate avand ultima litera j
 // s[i,j]=sum(a[i-1,k]) k=1,n cu prop. ca pot forma perechea (k,j) sau (j,k)
 for i:=0 to 26 do
   s[0,i]:=1;
 for i:=1 to n do
 begin
   for j:=1 to 26 do
     begin
       su:=0;
       for k:=1 to 26 do
         if (a[j,k]=0) then
            su:=su+s[i-1,k];
       s[i,j]:=su;
     end;
 end;
 {for i:=1 to n do
   begin
      for j:=1 to 26 do
        write(s[i,j],' ');
      writeln;
   end;}
 writeln(g,s[n,26]);
 close(g);
end;
begin
 citire;
 dinamica;
end.