Tải bản đầy đủ (.pdf) (22 trang)

Bộ đề chọn HSG dự thi HSG quốc gia môn tin trường THPT chuyên LPH năm 2011 2018

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.14 MB, 22 trang )

SỞ GIÁO DỤC VÀ ĐÀO TẠO

ĐỀ THI CHỌN HỌC SINH GIỎI

NAM ĐỊNH

THÀNH LẬP ĐỘI TUYỂN DỰ THI CHỌN HSG QUỐC GIA
NĂM HỌC 2017-2018

ĐỀ CHÍNH THỨC

Môn: TIN HỌC
Đề số: 01
Thời gian làm bài: 180 phút.
Đề thi có 03 trang

Tổng quan về các bài thi trong đề
File
File
File
Điểm
Chương trình
dữ liệu vào
kết quả
1 Nhà vô địch
CHAMPION.* CHAMPION.INP CHAMPION.OUT
6
2 Số may mắn
LUCKY.*
LUCKY.INP
LUCKY.OUT


7
3 Biến đổi số
CHANGE.*
CHANGE.INP
CHANGE.OUT
7
Phần mở rộng của File chương trình là PAS hoặc CPP tùy theo ngôn ngữ lập trình sử dụng là Pascal hoặc C++
TT

Tên bài

Lập chương trình giải các bài toán sau:
Câu 1. (6.0 điểm) Nhà vô địch
Để đến được vòng cuối cùng cuộc thi NDOI, các thi sinh tham gia phải trải qua nhiều vòng thi để tích lũy điểm
số. Có 𝑁 thí sinh tham gia, mỗi thí sinh đã tích lũy được tổng điểm 𝑑𝑖 (tổng điểm các thí sinh đã đạt được trước
khi vòng thi cuối cùng diễn ra).
Ở vòng thì cuối cùng, ban tổ chức đưa ra cách tính điểm cho mỗi thí sinh tham gia như sau: Người xếp hạng cao
nhất vòng thi này được cộng 𝑁 điểm, người xếp hạng thứ hai cộng 𝑁 − 1 điểm và cứ tiếp tục như vậy người xếp
hạng cuối cùng cộng 1 điểm (không có hai người nào xếp hạng bằng nhau).
Trước khi vòng cuối diễn ra, ban tổ chức dự đoán xem có nhiều nhất bao nhiêu thí sinh có khả năng đạt tổng số
điểm cao nhất sau khi vòng thi cuối kết thúc?
Yêu cầu: Bạn hãy viết chương trình trả lời giúp câu hỏi mà ban tổ chức đưa ra.
Dữ liệu vào cho trong tệp văn bản CHAMPION.INP
-

Dòng đầu tiên chứa số nguyên dương 𝑁 (3 ≤ 𝑁 ≤ 300000), số thí sinh tham dự vòng thi cuối.
Mỗi dòng trong 𝑁 dòng sau chứa một số nguyên 𝑑𝑖 (0 ≤ 𝑑𝑖 ≤ 2000000, 𝑖 = 1, … , 𝑁) là số điểm của thí
sinh 𝑖 tích lũy được trước vòng thi cuối cùng.

Kết quả đưa ra tệp văn bản CHAMPION.OUT một số duy nhất là số thí sinh có khả năng đạt điểm cao nhất sau

khi thi vòng thi cuối.
Ví dụ:
CHAMPION.INP
5
15
14
15
12
14

CHAMPION.OUT
4

Ghi chú:
 Có 60% số test ứng với 60% số điểm của bài có 𝑛 ≤ 10000
 Có 40% số test ứng với 40% số điểm của bài có 𝑛 ≤ 300000
Trang 1


Câu 2. (7.0 điểm) Số may mắn
Khi còn nhỏ, An tỏ ra đặc biệt hứng thú với các chữ số 0 và 1, cậu thường viết ra các số nguyên dương trong hệ
thập phân chỉ bao gồm các chữ số 0 và 1, không có chữ số 0 nào ở đầu và gọi các số này là số may mắn.
Hiện tại, An đã là một chuyên gia trong ngành bảo mật, chuyên nghiên cứu về các phương thức mã hóa thông
tin. Một lần ngồi nhớ lại về những kỉ niệm thời xưa cũ, An quyết định sẽ xây dựng một cách mã hóa thông tin
dựa vào các số may mắn. Cụ thể, thông tin thường được biểu diễn dưới dạng các số nguyên dương, An sẽ mã hóa
thông tin bằng cách mã hóa các số, số 𝑥 sẽ được mã hóa bằng một bội số nhỏ nhất của 𝑥 là số may mắn.
Nhận thấy có thể có các số nguyên dương không thể mã hóa do không tồn tại số may mắn nào là bội của nó, An
muốn kiểm chứng xem kiểu mã hóa này có khả thi hay không bằng cách viết một chương trình đưa cho một số
và in ra giá trị mã hóa tương ứng của nó. Vì quá bận rộn để đối phó với ransomware WannaCry, An không có
thời gian để làm việc này, do đó anh ta muốn nhờ bạn giúp.

Yêu cầu: Cho số nguyên dương 𝑥. Tìm số may mắn nhỏ nhất là bội của 𝑥.
Bội số của một số nguyên dương 𝑥 là một số nguyên chia hết cho 𝑥, mỗi số đều là bội số của chính nó.
Dữ liệu vào cho trong tệp văn bản LUCKY.INP gồm một hoặc nhiều bộ dữ liệu.
-

Dòng đầu tiên ghi số nguyên 𝑇 (1 ≤ 𝑇 ≤ 10) là số lượng bộ dữ liệu.
𝑇 dòng sau mỗi dòng mô tả một bộ dữ liệu, bao gồm một số nguyên dương 𝑥 là số cần mã hóa.

Kết quả đưa ra tệp văn bản LUCKY.OUT
-

Tương ứng với mỗi bộ dữ liệu cho trong tệp dữ liệu vào, in ra kết quả trên một dòng. Nếu tồn tại số may
mắn là bội của 𝑥, in ra số nhỏ nhất, nếu không tồn tại số như thế thì in ra 0.

Ví dụ:
LUCKY.INP
2
17
11011

LUCKY.OUT
11101
11011

Ghi chú:




Có 30% số test ứng với 30% số điểm của bài có 1 ≤ 𝑥 ≤ 20

Có 30% số test ứng với 30% số điểm của bài có 1 ≤ 𝑥 ≤ 20000 và kết quả nếu có sẽ không có quá 100
chữ số.
Có 40% số test ứng với 40% số điểm của bài có 1 ≤ 𝑥 ≤ 1000000

Câu 3. (7.0 điểm) Biến đổi số
Không chỉ là một chuyên gia bảo mật, An còn là một người phát triển trò chơi. Gần đây, An giới thiệu về trò chơi
biến đổi số.
Trò chơi diễn ra như sau: Bắt đầu từ số 1, sau đó biến đổi thành số 𝑁 bằng cách lặp lại một số thao tác sau: Ở
mỗi bước, nếu 𝑐 là số hiện tại, ta chia nó thành hai thừa số nguyên dương 𝑎 và 𝑏 sao cho 𝑐 = 𝑎 ∗ 𝑏. Sau đó, cộng
𝑎 vào 𝑐 để nhận được một số mới và mất chi phí là 𝑏. Ta tiếp tục làm như vậy cho đến khi nhận được số 𝑁 và
tổng chi phí thu được là nhỏ nhất.
Ví dụ: để biến đổi số 1 thành số 15:





Bắt đầu số 1
Biến đổi 1 thành 1 + 1 = 2 chi phí 1
Biến đổi 2 thành 2 + 1 = 3 tổng chi phí 1 + 2
Biến đổi 3 thành 3 + 3 = 6 tổng chi phí 1 + 2 + 1
Trang 2





Biến đổi 6 thành 6 + 6 = 12 tổng chi phí 1 + 2 + 1 + 1
Biến đổi 12 thành 12 + 3 = 15 tổng chi phí 1 + 2 + 1 + 1 + 4


Vậy 9 là tổng chi phí nhỏ nhất biến đổi số 1 thành số 15.
Yêu cầu: cho số nguyên dương 𝑁. Bạn hãy viết chương trình tính chi phí nhỏ nhất để biến đổi số 1 thành số 𝑁
trong trò chơi An đưa ra?
Dữ liệu vào cho trong tệp văn bản CHANGE.INP gồm một số nguyên dương 𝑁 (𝑁 ≥ 1)
Kết quả đưa ra tệp văn bản CHANGE.OUT một số duy nhất là chi phí ít nhất thu được.
Ví dụ:
CHANGE.INP

CHANGE.OUT

15

9

Ghi chú:




Có 30% số test ứng với 30% số điểm của bài có 1 ≤ 𝑁 ≤ 10000
Có 30% số test ứng với 30% số điểm của bài có 1 ≤ 𝑁 ≤ 100000
Có 40% số test ứng với 40% số điểm của bài có 1 ≤ 𝑁 ≤ 5000000
-----------------Hết -----------------

Họ và tên thí sinh: …………………………………...

Số báo danh: ………………………………

Giám thị số 1: …………………………………………


Giám thị số 2: ………………………………

Trang 3


SỞ GIÁO DỤC VÀ ĐÀO TẠO

ĐỀ THI CHỌN HỌC SINH GIỎI

NAM ĐỊNH

THÀNH LẬP ĐỘI TUYỂN DỰ THI CHỌN HSG QUỐC GIA
NĂM HỌC 2017-2018

ĐỀ CHÍNH THỨC

Môn: TIN HỌC
Đề số: 02
Thời gian làm bài: 180 phút.
Đề thi có 03 trang

Tổng quan về các bài thi trong đề
File
File
File
Điểm
Chương trình
dữ liệu vào
kết quả
4 Phủ đoạn thẳng

COVER.*
COVER.INP
COVER.OUT
6
5 Uống nước
WATER.*
WATER.INP
WATER.OUT
7
6 Thứ tự topo
TOPO.*
TOPO.INP
TOPO.OUT
7
Phần mở rộng của File chương trình là PAS hoặc CPP tùy theo ngôn ngữ lập trình sử dụng là Pascal hoặc C++
TT

Tên bài

Lập chương trình giải các bài toán sau:
Câu 4. (6.0 điểm) Phủ đoạn thẳng
Cho một tập 𝑁 đoạn thẳng (đánh số từ 1 đến 𝑁) với các đầu mút có tọa độ nguyên [𝐿𝑖 , 𝑅𝑖 ], 𝑖 = 1, 2, … , 𝑁 và một
đoạn thẳng [𝑃, 𝑄].
Yêu cầu: Tìm một số ít nhất đoạn thẳng trong tập đã cho phủ kín đoạn [𝑃, 𝑄] (tức là mỗi điểm 𝑥 ∈ [𝑃, 𝑄], x phải
thuộc vào ít nhất một trong số các đoạn được chọn).
Dữ liệu vào cho trong tệp văn bản COVER.INP
-

Dòng đầu tiên chứa 3 số nguyên 𝑁, 𝑃 𝑣à 𝑄 (𝑁 ≤ 105 , 0 < 𝑃 ≤ 𝑄 ≤ 109 )
𝑁 dòng tiếp theo mỗi dòng chứa hai số 𝐿𝑖 , 𝑅𝑖 (0 < 𝐿𝑖 ≤ 𝑅𝑖 ≤ 109 )


Kết quả đưa ra tệp văn bản COVER.OUT
-

Dòng 1: Đưa ra số nguyên 𝐾 là số đoạn ít nhất chọn được hoặc đưa ra -1 nếu không chọn được các đoạn
thỏa mãn.
Dòng 2: Ghi 𝐾 số thể hiện số hiệu của các đoạn thẳng được chọn.

Ví dụ:
COVER.INP
346
12
35
47

COVER.OUT
1
3

Ghi chú:
 Có 60% số test ứng với 60% số điểm của bài có 𝑁 ≤ 104 , 0 < 𝐿𝑖 ≤ 𝑅𝑖 ≤ 105
 Có 40% số test ứng với 40% số điểm của bài có 𝑁 ≤ 105 , 0 < 𝐿𝑖 ≤ 𝑅𝑖 ≤ 109
Câu 5. (7.0 điểm) Uống nước
An có 𝑁 cái cốc được gán nhãn lần lượt 1, 2, … , 𝑁 với dung tích không hạn chế và trong mỗi cốc đều có nước.
An muốn uống hết số nước ở tất cả các cốc nhưng chỉ muốn uống ở đúng 𝐾 cốc. Để có thể làm được như vậy,
cậu ta phải rót nước từ cốc này sang cốc khác để chỉ còn đúng 𝐾 cốc có nước.

Trang 1



Vấn đề đặt ra với An là chọn cốc nào để rót nước sang cốc nào, bởi vì khoảng cách giữa các cốc là không bằng
nhau. Cụ thể, An sẽ mất một lượng sức khi rót nước từ cốc 𝑖 sang cốc 𝑗 gọi nó là 𝐶𝑖𝑗 .
Yêu cầu: Giúp An tìm thứ tự rót nước từ cốc này sang cốc khác để tổng lượng sức cậu ấy bỏ ra là ít nhất. Thỏa
mãn điều kiện, An có thể uống hết lượng nước chỉ trong 𝐾 cốc.
Dữ liệu vào cho trong tệp văn bản WATER. INP
-

Dòng 1 chứa hai số nguyên 𝑁, 𝐾 (1 ≤ 𝐾 ≤ 𝑁 ≤ 20)
𝑁 dòng sau, dòng thứ 𝑖 chứa 𝑁 số nguyên 𝐶𝑖𝑗 (0 ≤ 𝐶𝑖𝑗 ≤ 105 ) là lượng sức cần dùng khi rót nước từ cốc
𝑖 sang cốc 𝑗. Nếu 𝑖 = 𝑗 thì 𝐶𝑖𝑗 = 0.

Kết quả đưa ra tệp văn bản WATER.OUT một số duy nhất là tổng lượng sức ít nhất cần sử dụng.
Ví dụ:
WATER.INP
WATER.OUT
52
5
05432
70444
33012
43105
45550
(Giải thích ví dụ: rót nước từ cốc 4->3 (tốn 1), sau đó rót từ 3->5 (tốn 2), rót từ 1->5 (tốn 2). Tổng ít nhất 5).
Ghi chú:



Có 40% số test ứng với 40% số điểm của bài có 1 ≤ 𝑁 ≤ 10
Có 60% số test ứng với 60% số điểm của bài có 1 ≤ 𝑁 ≤ 20


Câu 6. (7.0 điểm) Thứ tự topo
Một dãy 𝑎1 , 𝑎2 , … , 𝑎𝑛 được gọi là một hoán vị, nếu nó chứa tất cả các số nguyên từ 1 đến 𝑛.
Một hoán vị của các đỉnh 𝑎1 , 𝑎2 , … , 𝑎𝑛 là một sắp xếp topo của một đồ thị có hướng, nếu với mọi cung có hướng
đi từ 𝑢 đến 𝑣, đỉnh 𝑢 đứng trước đỉnh 𝑣 trong hoán vị này.
Hoán vị 𝑎1 , 𝑎2 , … , 𝑎𝑛 có thứ tự từ điển nhỏ hơn hoán vị 𝑏1 , 𝑏2 , … , 𝑏𝑛 nếu tồn tại một số 𝑚 sao cho 𝑎𝑖 = 𝑏𝑖 với
mọi 1 ≤ 𝑖 < 𝑚 và 𝑎𝑚 < 𝑏𝑚 .
Yêu cầu: Cho một đồ thị có hướng không có chu trình, hãy thêm nhiều nhất 𝑘 cung có hướng vào đồ thị sao cho
đồ thị vẫn không có chu trình và thứ tự topo có thứ tự từ điển nhỏ nhất là hoán vị có thứ tự từ điển lớn nhất có
thể.
Dữ liệu vào cho trong tệp văn bản TOPO.INP
-

Dòng đầu tiên của dữ liệu vào chứa 3 số nguyên 𝑛, 𝑚 và 𝑘, lần lượt là số đỉnh, số cung của đồ thị ban
đầu, và số lượng cung có hướng mà bạn được phép thêm vào đồ thị (1 ≤ 𝑛 ≤ 105 ; 0 ≤ 𝑚, 𝑘 ≤ 105 ).
𝑚 dòng tiếp theo, mỗi dòng chứa 2 số nguyên 𝑢𝑖 , 𝑣𝑖 mô tả một cung có hướng đi từ đỉnh 𝑢𝑖 đến đỉnh 𝑣𝑖
(1 ≤ 𝑢𝑖 , 𝑣𝑖 ≤ 𝑛).

Chú ý: Đồ thị ban đầu đảm bảo không có chu trình.
Kết quả đưa ra tệp văn bản TOPO.OUT
-

Dòng đầu tiên in ra 𝑛 số nguyên là thứ tự topo có thứ tự từ điển nhỏ nhất của đồ thị đã thay đổi.
Dòng thứ hai ghi một số nguyên 𝑥 (0 ≤ 𝑥 ≤ 𝑘) là số lượng cung cần thêm.

Trang 2


-

𝑥 dòng tiếp theo, mỗi dòng ghi hai số nguyên biểu diễn một cung có hướng cần thêm vào với định dạng

như trong dữ liệu vào.

Ví dụ:
TOPO.INP

TOPO.OUT

532
14
42
13
2 2 20
12
12

51423
2
43
51
12
1
12

Ghi chú:



Có 50% số test ứng với 50% số điểm của bài có 1 ≤ 𝑁 ≤ 10000
Có 50% số test ứng với 50% số điểm của bài có 1 ≤ 𝑁 ≤ 100000
-----------------Hết -----------------


Họ và tên thí sinh: …………………………………...

Số báo danh: ………………………………

Giám thị số 1: …………………………………………

Giám thị số 2: ………………………………

Trang 3


SỞ GIÁO DỤC - ĐÀO TẠO
NAM ĐỊNH
ĐỀ CHÍNH THỨC

KỲ THI HỌC SINH GIỎI LỚP 12 THPT CHUYÊN
NĂM HỌC 2009 – 2010
Môn: Tin học
Đề thi số 1
(Thời gian làm bài: 180 phút, không kể thời gian giao đề)
Đề thi gồm 2 trang

Lập chương trình giải các bài to án sau bằng ngôn ngữ Pascal

Bài 1: (10 điểm) Dán giấy, đặt tên tệp chương trình DAN.PAS
Một kh u vui chơi dán tranh giấy có N gian hàng, được đánh số theo thứ tự từ 1
đến N. Mỗi gian đều cho bạn chơi tự dán một số tờ giấy mình hiện có vào các vị trí
trên bức tranh của gian hàng . Khi đến gian hàng i bạn được cho Bi tờ giấy và bạn phải
dán vào bức tranh của gian hàng đó Ci tờ. Theo quy định, sau khi tham gia chơi xong

tại gian hàng i thì chơi tiếp ở gian hàng i+1, (sau khi tham gia chơi xong tại gian hàng
N thì được phép chơi tiếp ở gian hàng 1 nếu chưa chơi tại gian hàng 1). Hãy lựa chọn
gian hàng chơi đầu tiên để bạn có thể tham gia chơi ở tất cả N gian hàng theo đúng
quy định (Nếu có nhiều lựa chọn chỉ cần đưa ra một lựa chọn ).
Dữ liệu vào: Từ tệp văn bản D AN.INP, có cấu trúc :
+ Dòng 1 chứa số nguyên dương N (N ≤ 100 000)
+ Trong N dòng tiếp theo, dòng thứ i chứa 2 số Bi và Ci. (Bi, Ci nguyên dương
và không quá 1000).
Dữ liệu ra: Đưa ra tệp văn bản DAN.OUT chứa duy nhất một số K, thể hiện gian
hàng K bạn chọn chơi đầu tiên thoả mãn theo yêu cầu. (nếu không có cách lựa chọn
nào phù hợp thì đưa ra số 0)

Ví dụ :

DAN.INP
4

DAN.OUT
3

5 6
5 8
8 3
6 5

Trang 1


Bài 2: (10 điểm) Giảm mật độ ô nhiễm, đặt tên tệp ch ương trình ONHIEM.PAS
Có N công việc được đánh số hiệu thứ tự từ 1 đến N. Ta cần phân chia công

việc ra làm các giai đoạn, giai đoạn làm công việc i là trước hay cùng giai đoạn làm
công việc j nếu j>i. Công việc i khi thực hiện cần Ti đơn vị thời gian , có lượng khí
thải gây ô nhiễm môi tr ường là Ki. Thờ i gian thực hiện của một giai đoạn là thời gian
thực hiện công việc mất nhiều thời gian nhất trong giai đoạn đó. Tổng lượng khí thải
của các công việc trong cùng một giai đoạn không được quá D. Hãy phân chia các
công việc thành các giai đoạn sao cho tổng thời gian thực hiện của các giai đoạn là
nhỏ nhất.
Dữ liệu vào: Từ tệp văn bản ONHIEM.INP, có cấu trúc :
+ Dòng 1 chứa 2 số nguyên dương N, D.
+ Trong N dòng tiếp theo, dòng thứ i chứa 2 số Ti và Ki. (biết Ki ≤ D)
(các số trong tệp đều nguyên dương và không quá 1000)
Dữ liệu ra: Đưa ra tệp văn bản ONHIEM.OUT, theo cấu trúc:
+ Dòng 1 chứa số S là tổng thời gian của các giai đoạn nhỏ nhất tìm được.
+ Dòng 2 chứa Q số, số thứ i thể hiện công việc có số hiệu nhỏ nhất được thực
hiện trong giai đoạn i.
Ví dụ

ONHIEM.INP

ONHIEM.OUT

4 10

14

5 6

1 2 4

6 3

6 7
3 8

Chó ý: C¸c sè trªn cïng mét dßng trong tÖp d÷ liÖu vµo/ ra c¸ch nhau Ýt nhÊt mét dÊu c¸ch.
HÕt

Hä vµ tªn thÝ sinh: ----------------------------------------- Ch÷ kÝ cña gi¸m thÞ sè 1: ---------------------Sè b¸o danh:------------------------------------------------ Ch÷ kÝ cña gi¸m thÞ sè 2: ----------------------

Trang 2


SỞ GIÁO DỤC - ĐÀO TẠO
NAM ĐỊNH
ĐỀ CHÍNH THỨC

KỲ THI HỌC SINH GIỎI LỚP 12 THPT CHUYÊN
NĂM HỌC 2009 – 2010
Môn: Tin học
Đề thi số 2
(Thời gian làm bài: 180 phút, không kể thời gian giao đề)
Đề thi gồm 2 trang

Lập chương trình giải các bài to án sau bằng ngôn ngữ Pascal

Bài 3: (10 điểm) Kho bảo quản, đặt tên tệp chương trình KHO.PAS
Có N loại hàng cần bảo quản . Loại hàng i có Xi phần, mỗi phần thuộc loại hàng
i cần Y i ô bảo quản. Kho bảo quản có K ô bảo quản liên tiếp, số hiệu ô thứ j có tiêu
chuẩn bảo quản là j. Hãy xác định S là số ô bảo quản được sử dụng nhiều nhất mà
phải đảm bảo hai yêu cầu sau:
+ Mỗi phần loại hàng mà đưa vào bảo quản phải bố trí đủ vào các ô liên tiếp.

+ Phần loại hàng i bảo quản tại ô có tiêu chuẩn bảo quản không v ượt quá Zi.
(biết 1 ≤N≤200, 1≤Xi≤10, 1≤Yi≤200, 1≤Zi≤30 000)
Dữ liệu vào: Từ tệp văn bản KHO.INP, có cấu trúc :
+ Dòng 1: chứa số nguyên N.
+ Trong N dòng tiếp theo, dòng i chứa 3 số nguyên dương Xi, Yi, Zi thể hiện
thông tin về loại hàng thứ i.
Dữ liệu ra: Đưa ra tệp văn bản KHO.OUT chứa duy nhất một số S thoả mãn yêu cầu.
KHO.INP

Ví dụ
3

KHO.OUT
13

3 7 13
8 5 10
2 3 14
( Giải thích:phương án bảo quản 1 phần loại hàng 1 và 2 phần loại hàng 3 .
Nếu phương án: 2 phần loại hàng 1 thì sai vì loại hàng 1 không lưu vào ô 14 được )

Bài 4: (10 điểm) Qua suối, đặt tên tệp ch ương trình SUOI.PAS
Thời gian gần đây mưa bão, lũ lụt xảy ra nhiều ở vùng núi nước ta gây nhiều
thiệt hại. Nhiều cây cầu bị hư hỏng mà chưa kịp khắc phục. Do những yêu cầu cấp
thiết, có người phải qua những con suối mà không có cầu.
Trang 1


Mt con sui cú rng l R (coi b bờn trỏi cú honh l 0, b bờn phi cú
honh l R). Gia dũng sui cú N tng ỏ, tng ỏ i v trớ cú honh Xi v tung

Yi. Bn cn qua sui ú. Lỳc u bn bờn b trỏi, bn cn sang bờn b phi ca
sui. Bn cn da vo cỏc tng ỏ cú sn nhy qua hoc nhy trc tip sang b
phi nu cú th. Bn nhy xa khụng quỏ L v cú l ng sc kho ban u l S.
Khong cỏch t tng ỏ a n tng ỏ b l d (d =

( X a X b ) 2 (Ya Yb ) 2 ). nhy

c t a sang b cn m bo yờu cu:
+ Sc kho ti v trớ trc khi nhy phi khụng nh hn d2 .
+ Bc nhy L ca bn khụng nh hn d.
Sau khi nhy , sc kho ca bn b gim i d2. Tỡm cỏch qua sui S1 l ln
nht cú th (S1 l lng sc kho cũn li khi n c b sui bờn phi ca bn).
Bn khụng sc kho thỡ khụng qua c sui.
D liu vo: T tp vn bn SUOI.INP, cú cu trỳc:
+ Dũng 1: Cha 4 s nguyờn ln lt l N, R, S, L.
+ Trong N dũng tip theo, dũng i cha 2 s nguyờn dng Xi v Yi
( Xi 200;Yi 200; 0N1000; 1D liu ra: a ra tp vn bn SUOI.OUT, cha duy nht mt s nguyờn S1 tho
món yờu cu (nu khụng qua c sui thỡ ghi -1).
Vớ d

SUOI.INP
4 8 25 5

SUOI.OUT

(mụ t)

2


4 2
x

6 2

x

x
x

5 3
7 3
Chú ý: Các số trên cùng một dòng trong tệp dữ liệu vào/ ra cách nhau ít nhất một dấu cách.
Hết

Họ và tên thí sinh: ----------------------------------------- Chữ kí của giám thị số 1: ---------------------Số báo danh:------------------------------------------------ Chữ kí của giám thị số 2: ----------------------

Trang 2


S GIO DC - O TO
NAM NH
CHNH THC

K THI HC SINH GII LP 12 THPT CHUYấN
NM HC 2009 2010
HNG DN CHM
Mụn: Tin hc
thi s 1


Chấm bài bằng các test, mỗi bài có 10 test. Đúng mỗi test được 1 điểm.
Bi 1: Dỏn giy
Các test: - 6 test nhỏ (có trường hợp không thể, 4 trường hợp đủ, 1 trường hợp dư).
- 4 test lớn dùng kiểu longint, có một test không thể.
Hướng giải quyết:
+ Coi ban đầu có 0 tờ giấy. Cứ xét tự nhiên từng gian hàng, trước khi đến gian
hàng i có Fi tờ, cộng thêm Bi và trừ Ci. Tìm giá trị nhỏ nhất trong các Fi. Nhỏ nhất tại
đâu thì chọn xuất phát tại gian hàng đó.
+ Nếu tổng Bi không nhỏ hơn tổng các Ci thì luôn có cách. (kết thúc mà Fn <0
là không có cách)
* Đoạn chương trình
F:=0;
Fmin:=0;
G:=1;
For i:=1 to N do
Begin IF FF:=F+B[i]-C[i];
End;
If F<0 then write(0) else write (G);
Bi 2: Giảm mật độ ô nhiễm
Các test: - 6 test nhỏ (có trường hợp: Ki=D, chia 1, 2, 3 giai đoạn).
- 4 test lớn dùng kiểu longint.
Hướng giải quyết:
Ta ỏp dng phng phỏp Qui hoch ng:
+ Gi F(i) l thi gian nh nht thc hin xong cụng vic i.
+ Tớnh F(i) = Min(F(x-1) + Max( T(y) vi x-1khớ thi cỏc cụng vic x,x+1,,i D. (x vi kh nng cú th)
+ Dựng C (i) lu vt. (x)
+ In kq: in c(i)+1
* Đoạn chương trình

f[1]:=t[1]; c[1]:=0; f[0]:=0; t[0]:=0; k[0]:=d;
for i:=2 to n do
begin x:=i-1; max:=k[i]; f[i]:=maxlongint;
while max<=d do
begin gt:=tinh(x,i);
If f[i]>f[x]+gt then begin f[i]:=f[x]+gt; c[i]:=x; end;
x:=x-1;
max:=max+k[x+1];
end;
end;


S GIO DC - O TO
NAM NH
CHNH THC

K THI HC SINH GII LP 12 THPT CHUYấN
NM HC 2009 2010
HNG DN CHM
Mụn: Tin hc
thi s 2

Chấm bài bằng các test, mỗi bài có 10 test. Đúng mỗi test được 1 điểm.
Bi 3: Kho bo qun
Các test: - 6 test nhỏ (có trường hợp không thể, 4 trường hợp đủ, 1 trường hợp dư).
- 4 test lớn dùng kiểu longint, có một test không thể.
Hướng giải quyết:
- Do số lượng phần loại hàng không nhiều, ta sinh ra hết các hàng.
- Sắp xếp tăng theo tiêu chuẩn bảo quản.
- Quy hoạch động (như dạng bài chia kẹo, chú ý thêm điều kiện tiêu chuẩn bảo

quản)
* Đoạn chương trình
x:=0; f[0]:=true;
For i:=1 to sl do
Begin If x>b[i]-a[i] then x:=b[i]-a[i];
for j:=x downto 0 do
If f[j] and (j+a[i]<=b[i]) then f[j+a[i]]:=true;
x:=x+a[i];
end;
while not f[x] do x:=x-1;
writeln(f2,x);
Bi 4: Qua sui
Các test:

- 6 test nhỏ (1 không thể, 2 trường hợp đủ, 2 trường hợp dư, 1 trực tiếp).
- 4 test lớn dùng kiểu longint, có một test không thể.
Hướng giải quyết:
- Xây dựng đồ thị chỉ chứa các cạnh không quá L, S.
- Nối bờ trái, phải đến tảng đá có thể.
- Tìm đường đi ngắn nhất theo thuật toán Dijkstra.


Đề bài ngày thi thứ nhất (20/10)
Bài 1: (6 điểm) Mua hoa
Nhân ngày Phụ nữ VN 20 -10, Steve muốn mua một bó hoa thật có giá trị trong
phạm vi số tiền mình có là: c đồng để tặng cô giáo. Cửa hàng có bán 2 loại hoa:
hoa hồng với giá a đồng một bông; hoa lay ơn với giá b đồng một bông ( aSteve muốn mua được càng nhiều hoa càng tốt và giá trị của bó hoa phải là lớn
nhất (dĩ nhiên, không vượt quá số tiền mình hiện có).
Yêu cầu: Cho 3 số nguyên a, b, c (1 <= a < b <= 1000, 0 <= c <= 100000).

Hãy xác định giá trị của bó hoa mua được.
Dữ liệu: Vào từ tệp văn bản FLOWERS.INP gồm một dòng chứa 3 số nguyên a,
b và c, mỗi số cách nhau một dấu cách.
Kết quả: Đưa ra tệp văn bản FLOWERS.OUT một số nguyên - giá trị của bó hoa
mua được.
Ví dụ:
FLOWERS.INP
2 3 11
FLOWERS.OUT
11
************************************************** **
Bài 2: (7 điểm) Tuyến tàu hỏa xanh
Các phương tiện giao thông thân thiện với môi trường nhận được sự ủng hộ rộng
rãi của công chúng. Người ta quyết định đưa vào thử nghiệm tuyến đường xe lử a
xanh chạy bằng hydro. Tàu chạy nhanh và không gây ô nhiễm môi trường. Tuy
vậy, phải cải tạo lại các nhà ga, trang bị hệ thống nạp khí. Để mau hoàn vốn đầu
tư, người ta quyết định sẽ cho loại tàu mới chạy trên tuyến đường dài nhất trong
mạng lưới xe lửa. Mạng lưới này có n ga và có n-1 đoạn đường, mỗi đoạn đường
nối trực tiếp 2 ga khác nhau, chạy 2 chiều. Giữa 2 ga bất kỳ luôn tồn tại đường đi
tới nhau (trực tiếp hoặc qua các ga khác). Với a và b là 2 ga, tuyến đường
từ a đến b là dãy các ga trên đường đi từ a tới b và mỗi ga chỉ qua đúng một lần.
Độ dài của tuyến là tổng độ dài của các đoạn đường đi qua. Đoạn đường thứ i nối
2 ga xi và yi, độ dài zi (km).
Yêu cầu: Cho n, xi, yi và zi (2 <= n <= 32767, 1 <= xi, yi <= n, 1 <= zi <=
65536, i = 1..n-1). Hãy xác định độ dài của tuyến dài nhất?
Dữ liệu: Vào từ tệp văn bản TRAIN.INP
- Dòng đầu tiên chứa số nguyên n
- Dòng thứ i trong n-1 dòng sau chứa 3 số nguyên xi, yi và zi, mỗi số cách nhau
một dấu cách.
Kết quả: Đưa ra tệp văn bản TRAIN.OUT một số nguyên – độ dài tìm được.

Ví dụ:
TRAIN.INP
7
173
754
247


436
543
568
TRAIN.OUT
18
*************************************************
Bài 3: (7 điểm) Phần thưởng
Steve chiến thắng trong một trò chơi trên truyền hình. Ban tổ chức không phát
thưởng ngay mà tổ chức phát thưởng dưới một trò chơi. Ban tổ chức bày ra một
dãy gồm n phần thưởng, phần thưởng thứ i có giá trị ai và nói với Steve rằng có
thể lấy bao nhiêu tùy thích, nhưng không được lấy k phần thưởng liền nhau.
Yêu cầu: Bạn hãy chỉ cho Steve cách nhận thưởng để đạt giá trị lớn nhất?
Dữ liệu: Vào từ tệp văn bản PRIZES.INP
- Dòng đầu tiên chứa 2 số nguyên n, k (1 <= n, k <= 10^5), hai số cách nhau
một dấu cách.
- Dòng thứ hai chứa các số nguyên dương ai (1 <= ai <= 10^9) là giá trị của
phần thưởng bày ra, theo thứ tự liệt kê từ phần thưởng thứ nhất tới phần thưởng
thứ n, mỗi số cách nhau một dấu cách.
Kết quả: Đưa ra tệp văn bản PRIZES.OUT một số duy nhất ghi giá trị các phần
thưởng lớn nhất có thể lấy.
Ví dụ:
PRIZES.INP

63
6 10 10 13 10 10
PRIZES.OUT
40
************** HẾT **************

đề ngày thi thứ hai (21/10)
Bài 1: (6 điểm) Tổng lớn nhất
Cho dãy số nguyên A = (a1, a2, ..., an), trong đó |ai| <= 10^9, 1 <= n <=
1000. Từ dãy này người ta trích ra dãy con các phần tử liên tiếp nhau, tí nh t1 là
tổng giá trị tuyệt đối các phần tử của dãy con, t2 là tổng các phần tử của dãy con
này, sau đó tính tổng t1+t2.
Ví dụ A = (-3, 5 ,-10, 8 ,-2). Ta có thể trích ra dãy con (5, -10, 8).
Ta có (|5|+|-10|+|8|) + (5+(-10)+8) = 26.
Yêu cầu: Hãy xác địn h giá trị t1+t2 lớn nhất có thể nhận được?
Dữ liệu: Vào từ tệp văn bản MAXSUM.INP:
- Dòng đầu tiên chứa số nguyên n.
- Dòng thứ 2 chứa n số nguyên a1, a2, ..., an.
Kết quả: Đưa ra tệp văn bản MAXSUM.OUT một số nguyên – tổng lớn nhất tìm


được.
Ví dụ:
MAXSUM.INP
5
-3 5 -10 8 -2
MAXSUM.OUT
26
************************************
Bài 2: (7 điểm) Phép cộng

Steve là một cậu bé kì lạ, cậu ấy viết lên một bảng vuông gồm toàn các số 0 hoặc
1. Bây giờ cậu ấy muốn biết có bao nhiêu “phép cộng” có trong bảng vuông mà
cậu ấy vừa viết?
Một “phép cộng” là một bảng vuông có cạnh là một số lẻ lớn hơn 1 và tất cả các
ô trên bảng vuông đó là 0 ngoại trừ dòng giữa và cột giữa của bảng vuông là số
1.
Ví dụ: Bảng vuông sau có 2 phép cộng:
00
00
11
00
00

1
1
1
1
1

0
0
1
0
0

0
0
1
0
0


Yêu cầu: Cho biết số phép cộng trong bảng vuông của Steve?
Dữ liệu: Vào từ tệp văn bản PLUSSES.INP
- Dòng đầu tiên chứa số nguyên n (3 <= n <= 2000) là kích thước bảng vuông
- n dòng sau mỗi dòng n số 0 hoặc 1 mô tả bảng vuông.
Kết quả: Đưa ra tệp PLUSSES.OUT gồm một số duy nhất là số phép cộng tìm
được.
Ví dụ:
PLUSSES.INP
8
00010000
00010000
00010000
11111111
00010000
00010010
00010111
00010010
PLUSSES.OUT
3
*********************************
Bài 3: (7 điểm) Liên hoan phim
Ở một đất nước xa xôi có một con sông rộng, có n ngôi làng ở bờ bên trái
và n ngôi làng ở bờ bên phải (các ngôi làng ở mỗi bên bờ sông được đánh số từ 1
đến n). Có mchiếc thuyền nhỏ, mỗi chiếc thuyền chỉ dùng để đi lại giữa một làng
bờ bên trái và một làng bờ bên phả i.


Người ta muốn tổ chức một liên hoan phim ở bốn trong số những ngôi làng đó:
Hai làng ở bờ bên trái và hai làng ở bờ bên phải. Trong số bốn ngôi làng này, mỗi

làng ở bờ bên này phải được đi lại trực tiếp bằng thuyền tới hai làng ở bờ bên kia.
Yêu cầu: Có bao nhiêu cách chọn ra bốn làng theo yêu cầu trên?
Dữ liệu: Vào từ tệp văn bản FESTIVAL.INP
- Dòng đầu tiên chứa 2 số nguyên: n (2 <= n <= 1000) là số ngôi làng trên mỗi
bờ sông và m (4 <= m <= n^2) là số con thuyền.
- n dòng sau mỗi dòng chứa hai số n guyên có giá trị trong đoạn [1, n] mô tả ngôi
làng ở bờ bên trái và ngôi làng ở bờ bên phải đi lại trực tiếp bằng thuyền đó.
Các số trong tệp dữ liệu vào cách nhau một dấu cách.
Kết quả: ghi ra tệp văn bản FESTIVAL.OUT gồm một số duy nhất số cách chọn
bốn ngôi làng để tổ chức liên hoan phim.
Ví dụ:
FESTIVAL.INP
37
11
13
21
23
31
32
33
FESTIVAL.OUT
3


SỞ GIÁO DỤC - ĐÀO TẠO
NAM ĐỊNH

KỲ THI HỌC SINH GIỎI LỚP 12 CHUYÊN
NĂM HỌC 20 10 – 2011


Môn thi: Tin học
ĐỀ CHÍNH THỨC

Đề thi số: 1

Thời gian làm bài: 180 phút (không kể thời gian giao đề)

Đề thi này gồm có 2 trang
Lập chương trình giải các bài toán sau bằng ngôn ngữ Pascal

Bài 1: (10 điểm) Dãy tăng giảm, đặt tên tệp ch ương trình là AD.PAS
Cho dãy số X có n số nguyên dương X1, X2. . ., Xn ; mỗi số trong dãy không
vượt quá 10 000. Hãy sắp xếp lại dãy số X sao cho với mọi i (1Xi < Xi-1 và Xi < Xi+1
hoặc

Xi > Xi-1 và Xi > Xi+1

Dữ liệu vào: Từ tệp văn bản AD.INP có cấu trúc:
+ Dòng 1 chứa số nguyên dương n (n ≤ 100 000)
+ Dòng 2 chứa n số thuộc dãy X.
Dữ liệu ra: Đưa ra tệp văn bản AD.OUT
+ Nếu không sắp xếp được theo yêu cầu của bài thì đưa ra duy nhất số 0.
+ Nếu sắp xếp được thì ghi ra theo khuôn dạng
- Dòng 1 chứa số 1.
- Dòng 2 ghi n số của dãy X đã sắp xếp lại theo yêu cầu.

Ví dụ :

AD.INP


AD.OUT

6

1

1 5 3 2 4 6

1 5 2 6 3 4

Trang 1


Bài 2: (10 điểm) Tổ chức mạng, đặt tên tệp ch ương trình là LAN.PAS
Hệ thống tổ chức mạng của một ngân hàng gồm n máy tính đánh số từ 1 đến n.
Máy tính i có thể được nối với máy tính j bằng một dây cáp. Biết rằng luôn có và duy
nhất một đường truyền thông tin từ máy tính A đến máy tính B thông qua cáp nối
trực tiếp giữa hai máy đó hoặc thông qua các máy tính khác trong mạng.
(A = P0  P1  P2  . . .  Pk = B; máy Pi có cáp nối trực tiếp với máy Pi-1,
với i nhận giá trị từ 1 đến k). Thông tin từ máy tính A truyền đến máy tính B có độ
mất mát thông tin là k-1 (bằng số máy tính trung gian trên đường truyền). Độ mất mát
thông tin của hệ thống mạng được xác định bằng độ mất mát thông tin lớn nhất giữa
hai máy bất kì trong mạng. Hãy xác định độ mất mát thông tin của hệ thống mạng.
Dữ liệu vào: Từ tệp văn bản LAN.INP có cấu trúc :
+ Dòng 1 chứa số n nguyên dương (1+ Trong n-1 dòng tiếp theo, dòng thứ i chứa hai số u và v thể hiện có cáp nối từ
máy tính u đến máy tính v (i nhận giá trị từ 1 đến n-1).
Dữ liệu ra: Đưa ra tệp văn bản LAN.OUT chứa duy nhất số T là độ mất mát thông
tin của hệ thống tìm được theo yêu cầu.

LAN.INP

Ví dụ:

LAN.OUT

4

2

1 2
1 3
2 4
Chó ý: C¸c sè trªn cïng mét dßng trong tÖp d÷ liÖu vµo/ ra c¸ch nhau Ýt nhÊt mét dÊu c¸ch.

Hết

Hä vµ tªn thÝ sinh: ----------------------------------

Ch÷ kÝ cña gi¸m thÞ sè 1: ----------------------

Sè b¸o danh:------------------------------------------

Ch÷ kÝ cña gi¸m thÞ sè 2: ----------------------

Trang 2


SỞ GIÁO DỤC - ĐÀO TẠO
NAM ĐỊNH


KỲ THI HỌC SINH GIỎI LỚP 12 CHUYÊN
NĂM HỌC 2010 – 2011

Môn thi: Tin học
ĐỀ CHÍNH THỨC

Đề thi số: 2

Thời gian làm bài: 180 phút (không kể thời gian giao đề)

Đề thi này gồm có 2 trang
Lập chương trình giải các bài toán sau bằng ngôn ngữ Pascal

Bài 3: (10 điểm) Bảo quản hàng h oá, đặt tên tệp ch ương trình là BQ.PAS
Một khu bảo quản hàng hoá gồm 10 000 kho, được đánh số thứ tự từ 1 trở đi.
Kho thứ i có nhiệt độ bảo quản hàng là i. Có N chủ hàng cần thuê kho để bảo quản
hàng, mỗi kho chỉ có thể cho không quá một chủ hàng thuê. Chủ hàng k cần thuê Sk
kho bảo quản, mỗi kho có nhiệt độ không quá Tk. Hãy xác định giúp cho ban quản lí
khu bảo quản hàng là có thể cho thuê nhiều nhất bao nhiêu kho thoả mãn các yêu cầu
trên.
Dữ liệu vào: Từ tệp văn bản BQ.INP có cấu trúc:
+ Dòng 1 chứa số nguyên dương N (N ≤ 1 000)
+ Trong N dòng tiếp theo, dòng thứ k chứa hai số nguyên dương Sk và Tk (Sk
và Tk đều không quá 10 000; k nhận giá trị từ 1 đến n).
Dữ liệu ra: Đưa ra tệp văn bản BQ.OUT
Chứa duy nhất một số thể hiện số kho cho thuê được thoả mãn yêu cầu của bài.
BQ.INP

Ví dụ:

3

BQ.OUT
4

2 3
3 4
1 5

Bài 4: (10 điểm) Tiếp tế lương thực, đặt tên tệp ch ương trình là TIEPTE.PAS
Thời gian gần đây, nước ta gặp nhiều thiên tai. Nhiều nơi cần cung cấp lương
thực thuốc men để khắc phục kịp thời các hậu quả. Việc đi lại giữa các địa điểm rất
khó khăn. Có N địa điểm dân cư tập trung sinh sống và M đường đi trực tiếp giữa hai
địa điểm. Từ địa điểm A bất kì đều có thể đi đến địa điểm B bất kì khác bằng đường
đi trực tiếp từ A đến B hoặc đi qua các địa điểm khác bằng đường đi sẵn có. Một
Trang 1


chuyến hàng đi từ địa điểm i đến địa điểm j (nếu có đường đi trực tiếp) có thể chuyên
chở lượng lương thực không quá Q và tiêu tốn một lượng lương thực Pij. Hiện tại chỉ
ở địa điểm 1 là có thể tập kết lương thực để chuyển đến các địa điểm khác trong khu
vực. Mỗi địa điểm đều có kho đủ để chứa lương thực tạm thời.
Hãy xác định lượng lương thực cần thiết tối thiểu tập kết tại địa điểm 1, để vận
chuyển đến địa điểm N lượng lương thực là L.
Dữ liệu vào: Từ tệp văn bản TIEPTE.INP có cấu trúc:
+ Dòng 1 chứa số bốn số N, M, Q, L.
+ Trong M dòng tiếp theo, dòng thứ k chứa ba số i, j và Pij (k nhận giá trị từ 1
đến M). (Các số trong tệp đều nguyên dương và không quá 100.)
Dữ liệu ra: Đưa ra tệp văn bản TIEPTE.OUT chứa duy nhất số T là lượng lương
thực tối thiểu theo yêu cầu của bài.

(Dữ liệu vào luôn tìm được kết quả thoả mãn yêu cầu của bài)

Ví dụ:

TIEPTE.INP

TIEPTE.OUT

4 4 30 50

66

1 2 2
1 4 10
2 4 2
1 3 10
(Giải thích:Vận chuyển theo đường 1 → 2 → 4 ; cần lượng lương thực tại 1 là 66; vận chuyển
3 lần đến 2, tập kết tại 2 là 56 ; vận chuyển cần 2 lần đến 4 được 50)
Chó ý: C¸c sè trªn cïng mét dßng trong tÖp d÷ liÖu vµo/ ra c¸ch nhau Ýt nhÊt mét dÊu c¸ch.

Hết
Hä vµ tªn thÝ sinh: -----------------------------------

Ch÷ kÝ cña gi¸m thÞ sè 1: ----------------------

Sè b¸o danh:-------------------------------------------

Ch÷ kÝ cña gi¸m thÞ sè 2: ----------------------

Trang 2



S GIO DC - O TO
NAM NH
CHNH THC

K THI HC SINH GII LP 12 CHUYấ N
NM HC 2010 2011
HNG DN CHM
Mụn: Tin hc
thi s 1

Chấm bài bằng các test, mỗi bài có 10 test. Đúng mỗi test được 1 điểm.
Bi 1: Dãy tăng giảm
Các test:

- 7 test nhỏ (có 1 trường hợp không thể).
- 3 test lớn để kiểm tra việc sắp xếp nhanh.

Hướng giải quyết:
- Sắp xếp các số theo thứ tự tăng dần (Sắp xếp nhanh).
- Đếm số lượng số bằng số ở giữa dãy S.
- Nếu S> N div 2 thì không có cách.
- Nếu S<= N div 2 thì có cách
+ Nếu N lẻ: in theo:

X1, Xgiữa+1 ,X2, . . . Xn, Xgiữa .

+ Nếu N chắn: in theo


Xgiữa+1 ,X1, Xgiữa+2, X2. . . Xn, Xgiữa

(tránh trường hợp số ở giữa trùng với số bên cạnh)
Bi 2: Tổ chức mạng
Các test:

- 6 test nhỏ (dạng đường thẳng, dạng sao, dạng hỗn hợp).
- 4 test lớn .

Hướng giải quyết:
- Xác định bậc của các đỉnh.
- T=0; S=n
- Lặp khi số đỉnh S >2
+ T=T+2
+ Xoá các đỉnh bậc 1, giảm S và xoá các cạnh liên quan, hạ bậc các đỉnh liên quan.
- In T+S-2
Nếu làm theo cách tìm 2 máy xa nhau nhất thì mất nhiều thời gian


S GIO DC - O TO
NAM NH
CHNH THC

K THI HC SINH GII LP 12 CHUYấN
NM HC 2010 2011
HNG DN CHM
Mụn: Tin hc
thi s 2

Chấm bài bằng các test, mỗi bài có 10 test. Đúng mỗi test được 1 điểm.

Bi 3: Bảo quản hàng hoá
Các test:

- 6 test nhỏ (có trường hợp bằng 0, chọn tất cả, có các giá trị trùng nhau).
- 4 test lớn.

Hướng giải quyết:
* Dùng phương pháp quy hoạch động (tương tự bài chia kẹo nhưng cần chú ý đến
nhiệt độ thoả mãn).
- Sắp xếp tăng theo Ti.
- F[0]:=true;
- Đối với chủ hàng thứ i
Nếu F[j] =true và j+S[i] <=T[i] thì F[ j+S[i] ]=true với giá trị j từ 10000 về 0.
- In ra k lớn nhất mà F[k]=true
Bi 4:Tiếp tế lương thực
Các test:

- 6 test nhỏ (trường hợp dạng duy nhất 1 đường đi, 2 đường đi).
- 4 test lớn (kết quả là lớn do có đoạn đường chi phí gần bằng Q/2 ).

Hướng giải quyết:
* Dùng phương pháp loang
LT[i] lượng lương thực cần vận chuyển đến i.
- Xét bắt đầu từ điểm N. Lượng cần thiết L
- Xét tại điểm i
+ Nếu điểm j có đường đến i. Xác định lượng lương thực LCT cần tại j để thoả
mãn vận chuyển đến i. Nếu LCT- Duyệt cho đến hết
- In ra LT[1].




×