Cod sursa(job #28017)

Utilizator izso88istvan zsolt izso88 Data 7 martie 2007 13:46:57
Problema Triplete Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.67 kb
const fff=4096;
type pe=^te;
     te=record
              ert:integer;
              kov:pe;
              end;

var  ad:array[1..fff] of pe;
     t:text;
     p,y:pe;
     i,j,k,n,m:integer;
     hany:longint;

procedure df(hol,kezd,szint:integer);
          var e:pe;
          begin
          if (szint=3) and (kezd=hol) then inc(hany)
          else
          if ((szint>0)and (szint<3)) and (kezd=hol) then begin end else
          if szint<3 then begin
                          e:=ad[hol];
                          while e^.kov<>nil do begin
                          e:=e^.kov;
                          df(e^.ert,kezd,szint+1);
                          end;
                          end;
          end;

begin
     assign(t,'triplete.in');
     reset(T);
      read(t,n,m);
      hany:=0;
     for i:=1 to n do begin
                      new(ad[i]);
                      ad[i]^.ert:=0;
                      ad[i]^.kov:=nil;
                      end;
     for i:=1 to m do begin
                      read(t,j,k);
                      p:=ad[j];
                      while p^.kov<>nil do p:=p^.kov;
                      new(y);
                      y^.ert:=k;
                      Y^.kov:=nil;
                      p^.kov:=y;

                      p:=ad[k];
                      while p^.kov<>nil do p:=p^.kov;
                      new(y);
                      y^.ert:=j;
                      Y^.kov:=nil;
                      p^.kov:=y;

                      end;

     close(T);

     for i:=1 to n do df(i,i,0);

     assign(t,'triplete.out');
     rewrite(T);
       writeln(t,hany div 6);
     close(T);

end.