36
026. ƯNG I NHIU IM NHT
Cho mt bng A kích thưc m x n (1 m, n 100), trên đó ghi các s nguyên a
ij
(a
ij
100). Mt
người xut phát ti ô nào đó ca ct 1, cn sang ct n (ti ô nào cng được).
Quy tc đi: T ô (i, j) ch được quyn sang mt trong 3 ô (i, j + 1); (i - 1, j + 1); (i + 1, j + 1). Xem
hình v:
1 2 6 7 9
7 6 5 6 7
1 2 3 4 2
4 7 8 7 6
Yêu cu: Hãy tìm v trí ô xut phát mt hành trình đi t ct 1 sang ct n sao cho tng các s
ghi trên đờng đi là ln nht.
D liu: Vào t file vn bn MAX.INP. Trong đó:
Dòng 1: Ghi hai s m, n là s hàng và s ct ca bng.
m dòng tiếp theo, dòng th i ghi đủ n s trên hàng i ca bng theo đúng th t t trái qua phi.
Kết qu: Ghi ra file vn bn MAX.OUT. Trong đó:
Dòng 1: Ghi s đim ti đa có được
n dòng tiếp theo, dòng th i ghi ch s hàng ca ô th i trong hành trình.
Các s trên 1 dòng trong Input/ Output file cách nhau ít nht 1 du cách
Ví d:
1 2 3 4 5 6 7
1 9 -2 6 2 1 3 4
2 0 -1 6 7 1 3 3
3 8 -2 8 2 5 3 2
4 1 -1 6 2 1 6 1
5 7 -2 6 2 1 3 7
MAX.INP MAX.OUT
5 7
9 -2 6 2 1 3 4
0 -1 6 7 1 3 3
8 -2 8 2 5 3 2
1 -1 6 2 1 6 1
7 -2 6 2 1 3 7
41
1
2
3
2
3
4
5
37
027. K HOCH THUÊ NHÂN CÔNG
Giám đốc điu hành ca mt Công ty tin hc cn xác định s lượng nhân công cn s dng trong
mi tháng để thc hin mt d án phát trin tin hc. Ông giám đốc nm được s lượng nhân công
ti thiu cn cho mi tháng. Mi ln thuê hoc sa thi mt nhân công luôn mt thêm mt khon chi
phí. Mi khi mt th nào đó được thuê, anh ta luôn nhn được tin lương ngay c khi không làm
vic. Giám đốc nm được chi phí để thuê mt nhân công mi, chi phí sa thi mt nhân công, lương
tháng ca mt nhân công. Vn đ đặt ra cho giám đốc là phi xác định s lượng nhân công cn thuê
hay sa thi trong mi tháng để cho chi phí thc hin d án là ti thiu.
D liu: Vào t file vn bn PROJECT.INP.
Dòng đầu tiên ghi thi gian thc hin d án n (đơn v tính: tháng, n 12)
Dòng th hai cha ba s ngun dương theo th t chi phí thuê mt nhân công mi, lương
tháng ca mt nhân công, chi phí sa thi mt nhân công.
Dòng cui cùng ghi n s nguyên dương d
1
, d
2
, ..., dn, trong đó di s lượng nhân công cn s
dng trong tháng i.
Kết qu: Ghi ra file vn bn PROJECT.OUT
Dòng đầu tiên ghi chi phí ti thiu tìm được
Mi dòng th i trong s n dòng tiếp theo ghi s si. Được hiu là:
Nếu s
i
> 0 thì nó là s lượng nhân công cn thuê thêm tháng i.
Nếu si < 0 thì si là s lượng nhân công cn sa thi tháng i
Nếu si = 0 thì không có biến động nhân s trong tháng i ca d án
Ví d:
PROJECT.INP PROJECT.OUT
3
4 5 6
10 9 11
199
10
0
1
38
028. DÃY CÁC HÌNH CH NHT
Gi s ABCD là mt hình ch nht trên mt phng to độ có các đỉnh:
A (0, 0); B(0, 1); C(K, 1) và D(K, 0).
Ta xem hình này là hình có s hiu 1.
Hình s hiu 2 xây dng trên cnh Bc ca hình 1 cnh kia gp K ln. Hình s hiu 3 xây
dng trên cnh tây ca hình ch nht hp các hình 1 2 cnh kia gp K ln. Hình s hiu 4
xây dng trên cnh nam ca hp các hình 1,2,3 cnh kia gp K ln. nh s hiu 5 y dng
trên cnh đông ca hp các hình 1,2,3,4 cnh kia gp K ln. Tương t quy lut đó vi các hình
mang th t 6,7...
Bài toán đặt ra cho trước 3 s thc K,X,Y, hãy cho biết s hiu nh nht ca hình ch nht cha
đim có to độ (X,Y)
D liu: Vào t bi file vn bn REC.INP gm 1 s dòng.
Mi dòng gm 3 s K,X,Y vi ý ngha nêu trên.
Kết qu: Ghi ra file vn bn REC.OUT như sau:
Vi mi dòng ca file d liu ghi trên 1 dòng s hiu ca đim đã cho:
Chú ý: K, X, Y có th có ti 100 ch s.
Ví d:
REC.INP REC.OUT
3 0 1
2 7 -2
4 1 17
1
5
2
EW
N
S
39
029. SN CT
Trên mt nn phng đã được chia thành các lưới ô vuông đơn v gm mxn ô (m, n 100), người ta
đặt chng khít lên nhau các khi lp phương đơn v thành nhng ct. Khi dưới cùng ca ct chiếm
trn mt ô ca lưới. Chiu cao ca mi ct được tính bng s khi lp phương đơn v to thành ct
đó. Sau khi xếp xong toàn b các ct, người ta tiến hành sơn các mt nhìn thy được ca các ct.
Yêu cu: Biết chiu cao ca mi ct, hãy tính s đơn v din tích cn sơn.
D liu vào đặt trong file vn bn PAINT.INP. Trong đó:
Dòng đầu tiên ghi hai s nguyên dương m, n là kích thước ca lưới nn (m hàng, n ct)
m dòng tiếp theo, dòng th i ghi n s nguyên không âm, s nguyên th j biu th chiu cao ca ct
dng ti ô (i, j) ca lưới. Các s cách nhau ít nht mt du cách.
Kết qu ra đặt trong file vn bn PAINT.OUT, ghi s din tích cn sơn.
d:
Vi hình v bên, các ct được xây trên nn kích thước 2x3. Các file d liu vào và kết qu ra s là:
PAINT.INP PAINT.OUT
2 3
4 3 4
1 2 1
42
40
030. CT VI
Mt cơ s may mc chuyên sn xut khn vuông đủ mi kích c, nguyên liu các tm vi. Vi
mt tm vi nh ch nht chiu dài m đơn v chiu rng n đơn v (m, n nguyên dương không
quá 100), người ta có hai cách ct, ct ngang và ct dc.
Đặc đim ca mi thao tác ct là: mi ln ct bt buc phi ct ri mt mnh vi hình ch nht
thành hai mnh khác cng hình ch nht và kích thước hai mnh ct ri đó cng phi là s ngun.
Yêu cu: Cho trớc tm vi kích thớc m x n. Hãy tìm cách ct tm vi đó thành nhng mnh
vuông ( không đợc để li mt mnh nào không vuông) sao cho s mnh vuông ct ra là ít nht.
D liu: Vào t file vn bn CUT.INP gm 1 dòng cha hai s m, n cách nhau 1 du cách
Kết qu: Ghi ra file vn bn CUT.OUT. Trong đó:
Dòng 1: Ghi s K là s mnh vuông ti thiu có th ct ra được
K dòng tiếp theo, mi ng ghi 3 s X, Y, d. đây (X, Y) to độ ô vuông góc trái trên ca
mt hình vuông ct ra đưc d độ dài cnh hình vuông đó. Quy ước to độ ca ô góc trái
trên hình ch nht ban đầu (1, 1). To độ ca ô góc phi dưới hình ch nht ban đầu (m,
n). Ba s X, Y, d ghi cách nhau ít nht 1 du cách.
Ví d:
1 2 3 4 5 6
1
2
3
4
CUT.INP CUT.OUT
4 6 3
1 1 4
1 5 2
3 5 2