1. Trang chủ
  2. » Giáo án - Bài giảng

TUYỂN tập bài tập QUY HOẠCH ĐỘNG bồi DƯỠNG HSG TIN HOC

9 2,7K 109

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 66,5 KB

Nội dung

Tuyển tập một số bài tập quy hoạch động bồi dưỡng học sinh giỏi tin học THPT. Trong tài liệu này đưa ra một số dạng quy hoạch động thường gặp trong đề thi, có chương trình đi kèm,Một số bài toán: Xếp hàng mua vé; Di chuyển trên mảng 2 chiều; di chuyển trên bảng tam giác; bài toán chia quà...

TUYỂN TẬP SỐ BÀI TẬP QUY HOẠCH ĐỘNG VÀ LỜI GIẢI Bài 1: Xếp hàng mua vé N người có số hiệu từ đến N xếp hàng mua vé Người có số hiệu bé xếp trước mua vé trước Mỗi người mua vé cho mua hộ vé cho người đứng sau Người có số hiệu I mua vé cho cho người đứng sau R k phút (11) or (j>1) begin inc(k); ii[k]:=i; jj[k]:=j; if b[i,j]=a[i,j]+b[i-1,j] then dec(i); if b[i,j]=a[i,j]+b[i,j-1] then dec(j); end; writeln(fo,1,' ',1); for i:=k downto writeln(fo,ii[i],' ',jj[i]); close(fo); end; procedure main; var i,j:longint; begin b[1,1]:=a[1,1]; for i:=2 to m for j:=2 to n if (i1) or (j1) then if b[i-1,j]>b[i,j-1] then b[i,j]:=b[i-1,j]+a[i,j] else b[i,j]:=a[i,j]+b[i,j-1]; end; begin enter; main; result; end Bài 3: Sa mạc Sa mạc lưới ô vuông cấp M x N Trên ô lưới người ta ghi số nguyên a gọi lượng ô Một lạc đà từ ô (1,1) đến ô (m,n) Tìm đường cho đường lạc đà có tổng lớn Biết lạc đà sang ô (i+1,j) (I,j+1) 45 15134 41 11 67915 11841 13433 21 22 23 33 34 44 45 Bài 4: Đường 8 4 Là bảng tam giác số nguyên không âm Viết chương trình tính tổng lớn số đường từ đỉnh xuông đáy tam giác Mỗi bước ta quyền thằng xuống bên trái bên phải số program dd_tamgiac; const fi='tamgiac.inp'; fo='tamgiac.out'; nmax=100; var f:text; n,tong:integer; a:array[1 nmax,1 nmax] of integer; l:array[1 nmax,0 nmax] of integer; procedure doc; var i,j:integer; begin assign(f,fi); reset(f); readln(f,n); for i:=1 to n begin for j:=1 to i read(f,a[i,j]); readln(f); end; end; function max(x,y:integer):integer; begin if x>y then max:=x else max:=y; end; procedure qhd; var i,j:integer; begin l[1,0]:= low(integer); l[1,1]:=a[1,1]; for i:=2 to n for j:=1 to i l[i,j]:=a[i,j]+max(l[i-1,j-1],l[i-1,j]); tong:=l[n,1]; for i:=2 to n if tong

Ngày đăng: 26/10/2016, 07:55

TỪ KHÓA LIÊN QUAN

w