Professional Documents
Culture Documents
n m
x1 y1
x2 y2
… …
xm ym
Trong đó, n số đỉnh, m là số
cạnh
Sau khi lấy dữ liệu, chương trình sẽ xác định các có tồn tại chu
trình Euler hay không, nếu có thì tìm chu trình và lưu vào tệp
EULER.OUT có cấu trúc:
program euler;
const max=30;
type mang=array[1..max] of integer;
var a:array[1..max,1..max] of integer;
c,tim:mang;
n,m,spt,k:integer;
f:text;
procedure input;
var i,x,y:integer;
begin
assign(f,'Euler.inp');reset(f);
readln(f,n,m);
for i:=1 to m do
begin
readln(f,x,y);
a[x,y]:=1;
a[y,x]:=1;
end;
close(f);
end;
function kt:boolean;
var i,j,s,d:integer;
begin
d:=0;
for i:=1 to n do
begin
s:=0;
for j:=1 to n do
if(i<>j) then s:=s+a[i,j];
if s mod 2<>0 then inc(d);
end;
if d=0 then kt:=true
else kt:=false;
end;
BEGIN
input;
assign(f,'Euler.out');rewrite(f);
if kt then begin
timp(tim,spt);
writeln(f,'YES');
for k:=spt downto 2 do
write(f,tim[k],'-->');
write(f,tim[1]);
end
else
write(f,'NO');
close(f);
END.
45
12
34
File ra tương ứng: (EULER.OUT)
YES
1-->1-->2-->3-->4-->1