You are on page 1of 5

CONTEST #01

3 bài đầu giải trí cho các pé lớp 10


Bài 1: Cam (Orange)
Ai cũng biết là cô Thúy rất thích màu cam nhưng bài toán này liên quan đến quả cam cơ.
Có 𝑁 người muốn mua cam và mọi người muốn nhường nhau nên mỗi người chỉ mua một
quả, người thứ i cho biết sẵn sàng trả pi (đồng) cho một quả cam.
Cô Thúy quyết định lựa chọn đưa ra một mức giá cố định là 𝑘 (đồng) cho mỗi quả cam.
Cô sẽ bán với giá 𝑘 cho tất cả những người sẵn sàng trả giá lớn hơn 𝑘. Ngoài ra, nếu có
những người trả giá đúng bằng 𝑘, cô chỉ bán duy nhất cho một người trả đầu tiên với giá
đó. Hãy giúp cô lựa chọn mức giá là một số nguyên 𝑘 để có thể thu được nhiều tiền nhất
từ việc bán cam cho 𝑁 vị khách nói trên. Biết số cam trong vườn đảm bảo đủ cho tất cả
mọi người.
Dữ liệu:
• Dòng đầu chứa số nguyên dương N là số lượng khách muốn mua cam;
• Dòng sau ghi N số nguyên dương 𝑝1, 𝑝2, … , 𝑝𝑁 (𝑝𝑖 ≤ 106) mỗi số cách nhau bởi
một dấu cách.
Kết quả: Ghi ra một số nguyên duy nhất là số tiền nhiều nhất có thể thu được.
Ví dụ:
ORANGE.INP ORANGE.OUT

4 8
1 2 5 4
Ràng buộc:
• Có 60% số test khác ứng với 30% số điểm của bài có 𝑁 ≤ 1000, 𝑝𝑖 ≠ 𝑝𝑗 ∀𝑖 ≠ 𝑗;
• Có 20% số test khác ứng với 20% số điểm của bài có ;
• Có 20% số test còn lại ứng với 20% số điểm của bài có 𝑁 ≤ 105.

Bài 2: Tính toán (calq)


Cô đã dặn cả tuyển về ôn tập phần xâu cho bài kiểm tra nên tất nhiên phải có bài xử lí xâu rồi.
Các bạn hãy viết chương trình thực hiện các công việc sau: Cho một xâu tối đa 10.000 kí tự, bao
gồm các chữ số và các dấu: +, -, *, :, / (biểu diễn 1 phân số), biểu diễn biểu thức tính toán giữa
các phân số (các phân số được cho dưới dạng 2 số nguyên dương có giá trị không vượt quá 109).

Yêu cầu: Hãy thực hiện tính toán biểu thức đã cho, kết quả là một phân số tối giản.

Input: Vào từ file văn bản calq.inp gồm một dòng ghi biểu thức cần tính toán.

Output: Ghi ra file văn bản calq.out gồm một dòng ghi biểu thức kết quả.
Calq.inp Calq.out
1/3+3/7*6/5-4/9:5/2 211/315

Bài 3: Tổng tích (prodsum)


Cho dãy số nguyên 𝑁 phần tử A = (𝑎! , 𝑎" , … , 𝑎# ). Trọng số C của A được tính như sau:

𝐶 = ∑%$&! 𝑖 × 𝑎$

Chẳng hạn, với 𝐴= (4, 3, 2, 5), trọng số C của A là C = 1 × 4 + 2 × 3 + 3 × 2 + 4 × 5 = 36.


Được phép thực hiện một lần biến đổi trên A là: di chuyển một phần tử nào đó tới vị trí đầu hoặc
cuối dãy. Tìm trọng số C lớn nhất có thể của dãy thu được.
Dữ liệu: Dòng 1: số nguyên 𝑁 (2 ≤ 𝑁 ≤ 200000)
• Dòng 2: 𝑁 số nguyên 𝑎! , 𝑎" , … , 𝑎# cách nhau ít nhất bởi một dấu cách (| 𝑎𝑖 |
)
Kết quả: ghi ra số nguyên là trọng số C lớn nhất thu được.
Ví dụ
prodsum.inp prodsum.out Giải thích
4 39 Chuyển phần tử thứ 3 (2) về đầu, được dãy: 2 4 3 5
4325 Dãy này có trọng số
=1×2+2×4+3×3+4×5=39
4 30 Dãy ban đầu đã có trọng số lớn nhất có thể
1234

Bài 4: AB9
Cho 2 số tự nhiên A và B. Có vô số mảnh giấy hình chữ nhật trên đó ghi số A hoặc số B. Việc
của các bạn học sinh là tìm cách dùng một vài mảnh giấy trong đó và xếp chúng lại với nhau
theo thứ tự để số tạo thành sau khi ghép (đọc từ trái sang phải) là số nhỏ nhất mà chia hết cho 9.
Điều kiện bắt buộc là mỗi loại số A và B đều phải được sử dụng ít nhất 1 lần.
Input: Gồm 2 dòng
• Dòng 1 là số tự nhiên A
• Dòng 2 là số tự nhiên B
Output:Gồm dãy duy nhất là dãy số nhỏ nhất thỏa mãn điều kiện của đề bài
Ví dụ
AB9.INP AB9.OUT Giải thích
9 3339 Số 9 bản thân nó đã chia hết cho 9 nhưng vì mỗi loại đều phải dùng ít
3 nhất một lần nên phải dùng thêm 3 lần số 3
124 12412422 Có nhiều cách khác nhau để từ 2 số 124 và 22 tạo ra các số chia hết
22 cho 9 như 22124124, 12422124, … nhưng số nhỏ nhất chia hết cho 9
là số 12412422
Ràng buộc:
• Có 40% số test tương ứng với 40% số điểm cả số A và số B đều chỉ có 1 chữ số
• Có 40% số test tiếp theo tương ứng với 40% số điểm trong đó số A và B có số lượng chữ
số bằng nhau
• Có 20% số test còn lại thì 1<A, B<=1000000, A và B có số lượng chữ số khác nhau
Bài 5: Biến đổi nhị phân
Với một dãy nhị phân bất kỳ, ta biến đổi dãy nhị phân như sau:
• 1 → 01
• 0 → 10
Như vậy, với dãy bắt đầu là 1, sau bước biến đổi thứ nhất, ta sẽ thu được dãy 01.
Sau phép biến đổi thứ 2, ta thu được 1001.
Sau phép biến đổi thứ 3, ta thu được 01101001.

Người ta muốn tính xem, sau 𝑛 bước biến đổi, sẽ thu được dãy gồm có bao nhiêu cặp 2 số 0 đứng
liên tiếp.
Dữ liệu: Gồm một số test, mỗi test được ghi trên một dòng, mỗi dòng ghi một số nguyên không
âm 𝑛.
Kết quả: Với mỗi test, ghi ra số cặp 2 số 0 đứng liên tiếp.
BITRANS.INP BITRANS.OUT
2 1
3 1
Ràng buộc:
• Có 40% số test ứng với 40% số điểm của bài có 𝑛 ≤ 20;
• Có 40% số test ứng với 40% số điểm của bài có 𝑛 ≤ 50;
• Có 20% số test khác ứng với 20% số điểm còn lại của bài có 𝑛 ≤ 1000.

Bài 6: Hội chợ


Khu hội chợ Đông Bắc Bắc Giang có 𝑚 × 𝑛 gian hàng được bố trí trong một khu hình chữ nhật
kích thước 𝑚 × 𝑛. Các hàng của hình chữ nhật được đánh số 1,2,3, … , 𝑚 từ trên xuống dưới, còn
các cột – đánh số 1,2,3, … , 𝑛 từ trái sang phải, ô nằm giao của hàng 𝑖 và cột 𝑗 là gian hàng (𝑖, 𝑗)
trưng bày mặt hàng 𝑎$' . Khách tham quan đi vào khu hội chợ từ một gian hàng bất kỳ bên trái (𝑖
bất kỳ, 𝑗 = 1) và mất 1 đồng, không nhất thiết phải tham quan tất cả các gian hàng, khách chỉ có
thể đi ra khỏi khu hội chợ từ các gian hàng bên phải (𝑖 bất kỳ, 𝑗 = 𝑛), tại mỗi gian hàng khách có
thể di chuyển qua các gian hàng chung cạnh với nó. Khi đi vào gian hàng trưng bày mặt hàng khác
với mặt hàng của gian hàng hiện tại thì khách tham quan phải mua vé giá là 1 đồng.
Yêu cầu: Cho biết mặt hàng trưng bày tại các gian hàng, tính chi phí ít nhất mà khách tham quan
phải trả khi tham quan khu hội chợ.
Dữ liệu:
• Dòng đầu tiên ghi hai số 𝑚, 𝑛;
• 𝑚 dòng sau, mỗi dòng 𝑛 số nguyên không âm, cho mã mặt hàng được trưng bày tại các
gian hàng của khu hội chợ. Mã mặt hàng tại gian hàng (𝑖, 𝑗) là 𝑎$' thỏa mãn 0 £ 𝑎$' £ 100.

Hai số liên tiếp trên một dòng cách nhau một dấu cách.
Kết quả: gồm một số duy nhất là chi phí ít nhất tìm được.
Ví dụ:
HOICHO.INP HOICHO.OUT
23 1
011
112
Ràng buộc:
• Có 30% số test ứng với 30% số điểm của bài có 𝑚, 𝑛 ≤ 5;
• Có 30% số test ứng với 30% số điểm của bài có 𝑚, 𝑛 ≤ 50;
• Có 40% số test khác ứng với 40% số điểm còn lại của bài có 𝑚, 𝑛 ≤ 1000.
Bài 7: Phân tích tiếng cười
Giáo sư Thuấn có nhiều công trình nghiên cứu khoa học nổi tiếng. Một trong các công trình gây
nhiều tiếng vang nhất là công trình “Phân tích tiếng cười”. Trong nghiên cứu này, giáo sư đã phân
tích tiếng nói của con người và từ đó trích ra tiếng cười. Giáo sư đã phát triển các phần mềm cho
phép chuyển đổi tiếng nói của con người thành văn bản. Giáo sư xét chuỗi tiếng cười là một xâu
gồm các chữ cái “a”, “b”, “c”, “h”, và phải được ghép được từ một trong các xâu thuộc tập xâu
𝑝! , 𝑝" , … , 𝑝% , trong đó các xâu 𝑝! , 𝑝" , … , 𝑝% là các xâu mô tả tiếng cười đã được giáo sư xây dựng.
Ví dụ, nếu tập xâu mô tả tiếng cười là “ha” và “a”, thì xâu “ahahaha” và “a” là tiếng cười, còn
“abacaba” và “hh” không phải.

Bạn được cho một xâu 𝑠 là xâu được chuyển đổi từ tiếng nói và tập các xâu 𝑝! , 𝑝" , … , 𝑝% . Tìm độ
dài của xâu con dài nhất (liên tiếp) của xâu 𝑠 có thể được xét như là chuỗi tiếng cười.
Dữ liệu:
• Dòng đầu chứa số nguyên 𝑛;
• Dòng thứ hai chứa xâu 𝑠;
• 𝑛 dòng tiếp theo, dòng thứ 𝑖 chứa xâu 𝑝$ (𝑖 = 1,2, … , 𝑛), các xâu có độ dài không vượt quá
30.
Các xâu chỉ gồm các chữ cái “a”, “b”, “c”, “h”.
Kết quả: gồm một dòng là độ dài của xâu con dài nhất có thể được xét như là chuỗi tiếng cười.
Ví dụ:
LAUGH.INP LAUGH.OUT
2 5
ahahhahaah
a
ha
Ràng buộc:
• Có 20% số test ứng với 20% số điểm của bài có 𝑛 = 1 và độ dài xâu 𝑠 không vượt quá 100;
• Có 20% số test ứng với 20% số điểm của bài có 𝑛 = 1 và độ dài xâu 𝑠 không vượt quá
100000;
• Có 20% số test ứng với 20% số điểm của bài có 𝑛 = 2 và độ dài xâu 𝑠 không vượt quá 30;
• Có 20% số test ứng với 20% số điểm của bài có 𝑛 ≤ 100 và độ dài xâu 𝑠 không vượt quá
100;
• Có 20% số test khác ứng với 20% số điểm còn lại của bài có có 𝑛 ≤ 1000 và độ dài xâu 𝑠
không vượt quá 100000.

You might also like