Lơi giải Bài 3 - Tin học trẻ-PP Quay lui

1 5 0
Lơi giải Bài 3 - Tin học trẻ-PP Quay lui

Đang tải... (xem toàn văn)

Thông tin tài liệu

[r]

(1)

uses crt; const nm=100;

Type td=array[1 nm] of byte; var x,y,L,a,a2:td;

Max:word;

chon:array[1 nm] of boolean; n,k,i,dd,count,count2:word; Procedure doc_tep;

Var f: text; Begin

assign(f,'ech.inp'); reset(f);

readln(f,n,k);

for i:=1 to n readln(f,x[i],y[i],L[i]); close(f);

End;

procedure try(i:byte); var j:byte;

Begin

for j:=2 to n do

if (dd>=k) and (not chon[j]) and

((((x[j]=x[a[i-1]]) and (y[j]>y[a[i-1]])) or ((y[j]=y[a[i-1]]) and (x[j]>x[a[i-1]])))) then

begin

a[i]:=j; dd:=dd+L[j]-k; count:=count+1; chon[j]:=true;

if a[i]=n then

Begin if Max<dd then begin max:=dd; a2:=a; count2:= count; end end else try(i+1);

chon[j]:=false; dd:=dd-L[j]+k; count:=count-1; end;

end;

Procedure ghi_tep; Var f: text; Begin

assign(f,'ech.out'); rewrite(f);

writeln(f,max); writeln(f,count2);

for i:=1 to count2 writeln(f,x[a2[i]],' ',y[a2[i]]); close(f);

End;

Procedure thuc_hien; Begin

Doc_tep;

Max:=0; a[1]:=1; dd:=L[1]; count:=1; fillchar(chon,sizeof(chon),0);

try(2); ghi_tep; End;

Begin

Ngày đăng: 08/03/2021, 10:26

Tài liệu cùng người dùng

Tài liệu liên quan