Cod sursa(job #462985)

Utilizator lianaliana tucar liana Data 14 iunie 2010 12:20:08
Problema Triplete Scor 0
Compilator fpc Status done
Runda biti2 Marime 0.88 kb
program triplete;
var f, g:text;
    x, nm,rez, i, n, m, a, b, j, k, nr:longint;
    v:array[1..4096] of int64;

procedure citire;
  begin
    readln(f,n,m);
    for i:=1 to m do
      begin
        read(f,a,b);
        v[a]:=v[a] or 1 shl (b-1);
        v[b]:=v[b] or 1 shl (a-1);
      end;
  end;

procedure numarare_biti(a:int64);
  begin
    nm:=0;
    while a>0 do
      begin
        nm:=nm+1;
        a:=a and (a-1);
      end;
    rez:=rez+nm;
  end;

procedure rezolvare;
  begin
    for i:=1 to n do
      for j:=i+1 to n do
        if v[i] and (1 shl (j-1))>0 then
          begin
            x:=v[i] and v[j];
            numarare_biti(x);
          end;
    writeln(g,rez div 3);
  end;

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