Bỏ qua để đến nội dung

Đề số 19 - Ôn thi HSG Tin học THCS

BỘ ĐỀ ÔN THI HỌC SINH GIỎI TIN HỌC THCS Bumbii Academy

ĐỀ SỐ 19 Thời gian làm bài: 150 phút
4 bài, tổng 20 điểm


BàiTên bàiFile chương trìnhFile dữ liệu vàoFile kết quảĐiểm
1Đổi tiềnDOITIEN.*DOITIEN.INPDOITIEN.OUT4
2Xâu con đối xứng dài nhấtXAUDX.*XAUDX.INPXAUDX.OUT5
3Đếm đoạn có tổng bằng KDEMDOAN.*DEMDOAN.INPDEMDOAN.OUT5
4Xếp lịch phòng họpLICHHOP.*LICHHOP.INPLICHHOP.OUT6

Dấu * được thay bằng py hoặc cpp tùy theo ngôn ngữ lập trình sử dụng.

Ngân hàng có các tờ tiền mệnh giá 500 000, 200 000, 100 000, 50 000, 20 000, 10 000, 5 000, 2 000 và 1 000 đồng (mỗi loại có đủ nhiều tờ).

Yêu cầu: Đổi N đồng thành ít tờ tiền nhất, cho biết số tờ và số tờ mỗi mệnh giá.

Dữ liệu vào: Từ file văn bản DOITIEN.INP gồm một số nguyên N (N chia hết cho 1000, N ≥ 1000).

Kết quả: Ghi ra file văn bản DOITIEN.OUT: dòng thứ nhất ghi tổng số tờ; các dòng tiếp theo, mỗi dòng ghi một mệnh giá được dùng và số tờ của mệnh giá đó, theo thứ tự mệnh giá giảm dần.

Ví dụ:

DOITIEN.INPDOITIEN.OUT
8880009
500000 1
200000 1
100000 1
50000 1
20000 1
10000 1
5000 1
2000 1
1000 1

Ràng buộc:

  • Có 50% số test với N ≤ 106.
  • Có 50% số test với N ≤ 1018.

Bài 2. Xâu con đối xứng dài nhất (5 điểm)

Phần tiêu đề “Bài 2. Xâu con đối xứng dài nhất (5 điểm)”

Yêu cầu: Cho xâu S gồm các chữ cái in thường, tìm xâu con liên tiếp dài nhất của S là xâu đối xứng. Nếu có nhiều xâu như vậy thì chọn xâu xuất hiện sớm nhất.

Dữ liệu vào: Từ file văn bản XAUDX.INP gồm một dòng chứa xâu S.

Kết quả: Ghi ra file văn bản XAUDX.OUT gồm hai dòng: độ dài và nội dung xâu con tìm được.

Ví dụ:

XAUDX.INPXAUDX.OUTGiải thích
babad3
bab
“aba” cũng dài 3 nhưng xuất hiện sau.
cbbdabccbad8
dabccbad

Ràng buộc: Gọi n là độ dài xâu S.

  • Có 40% số test với n ≤ 100.
  • Có 60% số test với n ≤ 2000.

Bài 3. Đếm đoạn có tổng bằng K (5 điểm)

Phần tiêu đề “Bài 3. Đếm đoạn có tổng bằng K (5 điểm)”

Cho dãy n số nguyên a1, a2, …, an (có thể âm) và số nguyên K.

Yêu cầu: Đếm số đoạn con liên tiếp (gồm ít nhất một phần tử) có tổng bằng K.

Dữ liệu vào: Từ file văn bản DEMDOAN.INP gồm:

  • Dòng đầu tiên chứa hai số nguyên n và K (|K| ≤ 1015).
  • Dòng thứ hai chứa n số nguyên a1, a2, …, an (|ai| ≤ 109).

Kết quả: Ghi ra file văn bản DEMDOAN.OUT một số nguyên là số đoạn tìm được.

Ví dụ:

DEMDOAN.INPDEMDOAN.OUTGiải thích
6 5
2 3 -1 1 5 0
6Các đoạn (2, 3), (2, 3, −1, 1), (−1, 1, 5), (−1, 1, 5, 0), (5), (5, 0).

Ràng buộc:

  • Có 40% số test với n ≤ 2000.
  • Có 60% số test với n ≤ 2 × 105.

Nhà trường nhận được n đăng kí sử dụng phòng họp, đăng kí thứ i bắt đầu lúc si và kết thúc lúc ei (si nhỏ hơn ei). Phòng họp chỉ phục vụ một cuộc họp tại một thời điểm, nhưng một cuộc họp có thể bắt đầu đúng lúc cuộc họp trước kết thúc.

Yêu cầu: Tìm số cuộc họp nhiều nhất có thể xếp vào phòng.

Dữ liệu vào: Từ file văn bản LICHHOP.INP gồm:

  • Dòng đầu tiên chứa số nguyên dương n.
  • n dòng tiếp theo, mỗi dòng chứa hai số nguyên si, ei (0 ≤ si, ei ≤ 109).

Kết quả: Ghi ra file văn bản LICHHOP.OUT một số nguyên là số cuộc họp nhiều nhất.

Ví dụ:

LICHHOP.INPLICHHOP.OUTGiải thích
5
1 4
3 5
0 6
5 7
8 9
3Chọn (1, 4), (5, 7), (8, 9).

Ràng buộc:

  • Có 30% số test với n ≤ 15.
  • Có 30% số test với n ≤ 2000.
  • Có 40% số test với n ≤ 2 × 105.