ADS - Quảng cáo
Tác giả: khuc_tuan
Ngôn ngữ: Pascal
//{$APPTYPE CONSOLE}
{$mode delphi}
uses math, sysutils;
type
Node = class
i : integer;
n : Node;
end;
var
ke : array[1..2000] of Node;
res, m, i, u, v, n : integer;
vs : array[1..2000] of boolean;
procedure AddList(var n : Node; u : integer);
var
p : Node;
begin
p := Node.Create;
p.i := u;
p.n := n;
n := p;
end;
procedure dfs(i, tr : integer);
var
p : Node;
j : integer;
begin
vs[i] := true;
p := ke[i];
while p<>nil do
begin
j := p.i;
if not vs[j] then dfs(j, i)
else if j <> tr then inc(res);
p := p.n;
end;
end;
begin
readln(n,m);
for i:=1 to m do
begin
readln(u,v);
addList(ke[u], v);
addList(ke[v], u);
end;
for i:=1 to n do
if not vs[i] then
begin
dfs(i, -1);
end;
writeln(res div 2);
end.