@linhhahaduc: xin bạn đọc lại cách tham gia đóng góp đề
@m2mpro: xin đọc kĩ lại đề
[=========> Bổ sung bài viết <=========]
Code:
Program Bunch;
Const Fin = 'Bunch.Inp';
Fou = 'Bunch.Out';
MaxArr = 100000;
Type Arr = Array [1..MaxArr] of Word;
Var A,B : Arr;
N, M : Longint;
i : Longint;
u,v : Longint;
Max1, Max2 : Longint;
F : Text;
Begin
Assign(F, Fin);
Reset(F);
Max1 := 1;
Max2 := 1;
Readln(F, N,M);
For i:=1 to N do
Begin
A[i] := i;
B[i] := 1;
End;
For i:=1 to M do
Begin
Readln(F, u,v);
While A[v] <> v do
v := A[v];
A[u] := v;
If u <> v then
B[v] := B[v] + B[u];
If B[v] > Max1
then Max1 := B[v]
else
If B[v] > Max2
then Max2 := B[v];
End;
Close(F);
Assign(F, Fou);
Rewrite(F);
Write(F, Max1+Max2);
Close(F);
End.
Bookmarks