Az alábbi letöltési lehetőségek közül választhatsz: (
segítség)
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: us-ascii
Méret: 1 KB
program halozat;
uses
SysUtils;
const FNum = '1';
FName = 'halozat';
FBe = FName+FNum+'.be';
FKi = FName+FNum+'.kix';
type TEl = record
a,b:byte;
k:byte;
van:boolean;
end;
TTomb = array[1..4950] of TEl;
TApa = array[1..100]of byte;
var n:byte;
t:TTomb;
apa:TApa;
procedure load;
var be:textfile;
i:integer;
begin
assignfile(be,Fbe);
reset(be);
readln(be,N);
for i:=1 to ((N*(N-1)) div 2) do
begin
readln(be,t[i].a,t[i].b,t[i].k);
t[i].van:=false;
end;
closefile(be);
for i:=1 to N do apa[i]:=i;
end;
procedure swap(i,j:integer);
var c:TEl;
begin
c:=t[i];
t[i]:=t[j];
t[j]:=c;
end;
procedure rendez;
var i,j,min:integer;
begin
for i:=1 to ((N*(N-1)) div 2)-1 do
begin
min:=i;
for j:=i+1 to ((N*(N-1)) div 2) do
if t[j].k<t[min].k then min:=j;
swap(i,min);
end;
end;
function os(x:byte):byte;
begin
if apa[x]=x then os:=x else os:=os(apa[x]);
end;
procedure main;
var i:integer;
begin
for i:=1 to ((N*(N-1)) div 2) do
begin
if os(t[i].a)<>os(t[i].b) then
begin
t[i].van:=true;
apa[os(t[i].a)]:=os(t[i].b);
end;
end;
end;
procedure final;
var sum,i:integer;
ki:textfile;
begin
sum:=0;
for i:=1 to ((N*(N-1)) div 2) do
if t[i].van then sum:=sum+t[i].k;
assignfile(ki,Fki);
rewrite(ki);
writeln(ki,sum);
closefile(ki);
end;
begin
load;
rendez;
main;
final;
end.