Contest 05
Contest 05
CONTEST 05
TT Tên bài File CT File Input File Output
1 Nhị phân NHIPHAN.* NHIPHAN.INP NHIPHAN.OUT
2 Chụp ảnh PHOTO.* PHOTO.INP PHOTO.OUT
3 Tìm dãy hoãn vị NGHICTHE2.* NGHICTHE2.INP NGHICTHE2.OUT
4 Tìm điểm cân bằng EQPOINT.* EQPOINT.INP EQPOINT.OUT
Dấu * được thay thế bởi PAS hay CPP của ngôn ngữ lập trình được sử dụng tương ứng
là Pascal hoặc C++.
Bài 1: Nhị phân
Khi chia nguyên liên tục một số nguyên dương 𝑁 cho 2 chúng ta được một dãy
thương và số dư sau đó viết ngược dãy số dư ta được dãy số nhị phân. Dãy số nhị phân
đó được gọi là sự biểu diễn của số 𝑁 trong hệ nhị phân. Ví dụ: Với số 12 ta có:
𝑁 =12 6 3 1 0
Dãy số dư 0 0 1 1
Như vậy số 12 được biểu diễn trong hệ nhị phân là 1100.
Yêu cầu: Tìm số nhị phân tương ứng với số nguyên dương 𝑁 cho trước.
Dữ liệu vào: Từ tệp văn bản NHIPHAN.INP chỉ ghi số nguyên dương 𝑁(𝑁 ≤ 109 )
Kết quả ra: Ghi vào tệp văn bản NHIPHAN.OUT ghi kết quả tìm được.
Ví dụ
NHIPHAN.INP NHIPHAN.OUT
12 1100
Bài 2: Chụp ảnh
Một nhóm gồm 𝑁 bạn rủ nhau đi dã ngoại. Họ đã tìm được một địa điểm cắm trại
rất lý thú, phong cảnh thiên nhiên ở đây rất đẹp. Nhóm bạn này muốn ghi lại cảnh đẹp ở
đây trong một số bức ảnh để làm kỷ niệm với mong muốn là trong những bức ảnh này
phải có mặt tất cả mọi người trong nhóm. Nhưng không may cho họ là tại địa điểm này
không có một ai ngoài những người trong nhóm để nhờ họ bấm máy giúp, cho nên mỗi
người phải thay nhau chụp ảnh cho các thành viên còn lại của nhóm. Như vậy, để tất cả
mọi người đều có mặt trong ảnh, họ phải chụp N tấm ảnh có chung một hậu cảnh. Bức
ảnh thứ 𝑖 (𝑖 = 1 … 𝑁) sẽ do người thứ i chụp vì vậy người này sẽ không có mặt trong bức
ảnh này.
Trong mỗi bức ảnh, mọi người sẽ đứng theo một hàng ngang và mỗi người sẽ chiếm
một diện tích được giới hạn bởi hình chữ nhật bao người đó. Hình chữ nhật giới hạn trong
ảnh của người thứ i có chiều ngang là Wi và chiều cao là Hi. Các hình chữ nhật liền kề
nhau không chồng lấn lên nhau và cũng không tách rời nhau theo chiều ngang. Diện tích
tối thiểu của bức ảnh sẽ là W x H, trong đó W là tổng chiều ngang của tất cả các hình chữ
nhật còn H là chiều cao lớn nhất của hình chữ nhật giới hạn của người cao nhất có mặt
trong ảnh.
Trang 1
Yêu cầu: Bạn hãy tính diện tích tối thiểu của mỗi bức ảnh trong N bức ảnh đã chụp ở
trên.
Dữ liệu vào: Tệp văn bản PHOTO.INP gồm:
+ Dòng đầu ghi số nguyên 𝑁 (2 ≤ 𝑁 ≤ 200000).
+ Trong 𝑁 dòng tiếp theo, với dòng thứ 𝑖 ghi hai số nguyên 𝑊𝑖 và 𝐻𝑖 1 ≤ 𝑊𝑖 ≤
10, 1 ≤ 𝐻𝑖 ≤ 1000).
Kết quả ra: Tệp văn bản PHOTO.OUT ghi N số nguyên trên cùng một dòng, với số thứ
i là diện tích tối thiểu của bức ảnh thứ i. Các số cách nhau đúng một dấu cách.
Ví dụ:
PHOTO.INP PHOTO.OUT
3 646
21
12
21
Bài 3: Tìm dãy hoán vị
Cho biết 𝑋 = {𝑥1 , 𝑥2 , … , 𝑥𝑛 } là một hoán vị của {1,2, . . . , 𝑛}. 𝑃 = {𝑝1 , 𝑝2 , . . . , 𝑝𝑛 }
là dãy nghịch thế của 𝑋, trong đó 𝑝𝑖 là số nghịch thế của 𝑥𝑖 (là số phần tử đứng trước 𝑥𝑖
nhưng có giá trị lớn hơn 𝑥𝑖 ).
Yêu cầu: Cho dãy 𝑃. Hãy tìm dãy 𝑋.
Dữ liệu vào: Tệp văn bản NGHICTHE2.INP gồm
+ Dòng đầu ghi 𝑛 (𝑛 ≤ 1000)
+ Dòng tiếp theo ghi 𝑝1 , 𝑝2 , . . . , 𝑝𝑛
Kết quả ra: Tệp văn bản NGHICTHE2.OUT ghi 𝑛 số 𝑥1 , 𝑥2 , . . . , 𝑥𝑛
Ví dụ
NGHICTHE2.INP NGHICTHE2.OUT
3 213
010
Bài 4: Tìm điểm cân bằng
Cho một dãy gồm n số nguyên 𝐴1 , 𝐴2 , … , 𝐴𝑛 .
Yêu cầu: Hãy tìm chỉ số i sao cho tổng các số từ 𝐴1 đến 𝐴𝑖−1 bằng tổng các số từ số từ
𝐴𝑖+1 đến 𝐴𝑛 .
Dữ liệu vào: Từ tệp văn bản EQPOINT.INP gồm:
+ Dòng đầu tiên gồm một số nguyên dương n.
+ Dòng tiếp theo ghi dãy số nguyên dương 𝐴1 , 𝐴2 , … , 𝐴𝑛 . Mỗi số có giá trị không vượt
quá 108.
Kết quả ra: Ghi vào tệp văn bản EQPOINT.OUT chỉ số tìm được. Nếu bài toán vô
nghiệm thì ghi số -1.
Ví dụ:
EQPOINT.INP EQPOINT.OUT
Trang 2
5 3
13522
1 1
1
4 -1
1234
Giới hạn:
Có 50% số test tương ứng với 𝑛 ≤ 103
Có 50% số test tương ứng với 𝑛 ≤ 106
==▲==
Trang 3