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

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

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

ĐỀ SỐ 29 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
1Diện tích và chu viCHUVI.*CHUVI.INPCHUVI.OUT3
2Đi thuyền tham quanTHAMQUAN.*THAMQUAN.INPTHAMQUAN.OUT5
3Mảnh vườn sinh lời nhấtTONGBANG.*TONGBANG.INPTONGBANG.OUT6
4Xây thápXAYTHAP.*XAYTHAP.INPXAYTHAP.OUT6

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

Trên giấy kẻ ô vuông m × n, bạn Hoa tô màu một số ô (ô ghi 1 là ô được tô, ô ghi 0 là ô trắng). Mỗi ô là hình vuông cạnh 1.

Yêu cầu: Tính tổng diện tích phần được tô và tổng chu vi của phần được tô. Chu vi là tổng độ dài các cạnh ô vuông nằm giữa một ô được tô và một ô trắng, hoặc giữa một ô được tô và mép giấy.

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

  • Dòng đầu tiên chứa hai số nguyên dương m, n.
  • m dòng tiếp theo, mỗi dòng là một xâu n kí tự 0 hoặc 1.

Kết quả: Ghi ra file văn bản CHUVI.OUT hai số: diện tích và chu vi.

Ví dụ:

CHUVI.INPCHUVI.OUT
3 4
0110
1110
0100
6 12

Ràng buộc: m, n ≤ 500.

Một đoàn n học sinh đi tham quan đầm sen bằng thuyền. Mỗi thuyền chở tối đa 2 người và tổng cân nặng không vượt quá C kg. Bạn thứ i nặng wi kg (wi ≤ C).

Yêu cầu: Tìm số thuyền ít nhất cần dùng.

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

  • Dòng đầu tiên chứa hai số nguyên dương n và C.
  • Dòng thứ hai chứa n số nguyên dương w1, w2, …, wn.

Kết quả: Ghi ra file văn bản THAMQUAN.OUT một số nguyên là số thuyền ít nhất.

Ví dụ:

THAMQUAN.INPTHAMQUAN.OUTGiải thích
6 100
70 50 80 20 50 30
3Các thuyền: (80, 20), (70, 30), (50, 50).

Ràng buộc:

  • Có 30% số test với n ≤ 10.
  • Có 70% số test với n ≤ 2 × 105.

Bài 3. Mảnh vườn sinh lời nhất (6 điểm)

Phần tiêu đề “Bài 3. Mảnh vườn sinh lời nhất (6 điểm)”

Một khu vườn được chia thành lưới m × n ô; ô ở hàng i, cột j cho lợi nhuận aij (có thể âm nếu ô đó thua lỗ). Chủ vườn muốn giữ lại đúng một mảnh hình chữ nhật (gồm các ô liên tiếp theo hàng và theo cột, ít nhất một ô) có tổng lợi nhuận lớn nhất.

Yêu cầu: Tìm tổng lợi nhuận lớn nhất của một hình chữ nhật con.

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

  • Dòng đầu tiên chứa hai số nguyên dương m, n.
  • m dòng tiếp theo, mỗi dòng chứa n số nguyên có giá trị tuyệt đối không quá 109.

Kết quả: Ghi ra file văn bản TONGBANG.OUT một số nguyên là tổng lớn nhất.

Ví dụ:

TONGBANG.INPTONGBANG.OUTGiải thích
4 5
1 2 -1 -4 -20
-8 -3 4 2 1
3 8 10 1 3
-4 -1 1 7 -6
29Hình chữ nhật từ hàng 2 đến hàng 4, cột 2 đến cột 4.

Ràng buộc:

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

Trên băng chuyền lần lượt chạy qua n khối gỗ, khối thứ i có kích thước si và chiều cao hi. Khi một khối chạy qua, bạn có thể lấy nó đặt lên đỉnh tháp đang xây, hoặc bỏ qua (không lấy lại được). Một khối chỉ đặt được lên khối có kích thước lớn hơn hẳn nó.

Yêu cầu: Tìm chiều cao lớn nhất của tháp có thể xây.

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

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

Kết quả: Ghi ra file văn bản XAYTHAP.OUT một số nguyên là chiều cao lớn nhất.

Ví dụ:

XAYTHAP.INPXAYTHAP.OUTGiải thích
6
5 3
8 2
6 4
3 5
7 1
2 2
13Lấy các khối kích thước 8, 6, 3, 2: chiều cao 2 + 4 + 5 + 2 = 13.

Ràng buộc:

  • Có 40% số test với n ≤ 1000.
  • Có 60% số test với n ≤ 5 × 104.