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

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

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

ĐỀ SỐ 16 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
1Tuổi cha và conTUOICHA.*TUOICHA.INPTUOICHA.OUT4
2Đảo thứ tự từDAOCAU.*DAOCAU.INPDAOCAU.OUT5
3Số nguyên tố lớn nhấtNTLONNHAT.*NTLONNHAT.INPNTLONNHAT.OUT5
4Thu hoạch trên thửa ruộngTONGHCN.*TONGHCN.INPTONGHCN.OUT6

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

Hiện nay cha F tuổi, con S tuổi (S < F; con S = 0 tuổi nghĩa là vừa mới sinh).

Yêu cầu: Cho biết vào thời điểm nào (trước đây, hiện tại hay sau này) tuổi cha gấp đúng k lần tuổi con. Thời điểm đó phải cách hiện tại một số nguyên năm và khi đó người con đã ít nhất 1 tuổi.

Dữ liệu vào: Từ file văn bản TUOICHA.INP gồm một dòng chứa ba số nguyên F, S, k (k ≥ 2).

Kết quả: Ghi ra file văn bản TUOICHA.OUT một trong các dạng sau:

  • SAU t: sau t năm nữa;
  • TRUOC t: cách đây t năm;
  • HIEN TAI: ngay năm nay;
  • KHONG: không có thời điểm nào như vậy.

Ví dụ:

TUOICHA.INPTUOICHA.OUTGiải thích
40 10 2SAU 2020 năm nữa cha 60 tuổi, con 30 tuổi.
31 11 3TRUOC 1Năm ngoái cha 30 tuổi, con 10 tuổi.
30 10 4KHONGCần 30 + t = 4(10 + t), không có t nguyên.

Ràng buộc:

  • Có 50% số test với S < F ≤ 200, k ≤ 10.
  • Có 50% số test với S < F ≤ 109, k ≤ 109.

Cho một câu gồm các từ ngăn cách bởi một hoặc nhiều dấu cách. Mỗi từ là một dãy kí tự khác dấu cách đứng liền nhau.

Yêu cầu: Đếm số từ của câu và viết lại câu theo thứ tự các từ đảo ngược (từ cuối lên đầu), các từ cách nhau đúng một dấu cách.

Dữ liệu vào: Từ file văn bản DAOCAU.INP gồm một dòng chứa câu (có ít nhất một từ).

Kết quả: Ghi ra file văn bản DAOCAU.OUT gồm hai dòng: số từ và câu sau khi đảo.

Ví dụ:

DAOCAU.INPDAOCAU.OUT
choi di xe dap 4
dap xe di choi

Ràng buộc: Gọi L là độ dài dòng.

  • Có 50% số test với L ≤ 1000.
  • Có 50% số test với L ≤ 106.

Bài 3. Số nguyên tố lớn nhất (5 điểm)

Phần tiêu đề “Bài 3. Số nguyên tố lớn nhất (5 điểm)”

Yêu cầu: Cho q số nguyên a (a ≥ 2). Với mỗi số, hãy tìm số nguyên tố lớn nhất không vượt quá a và đếm xem có bao nhiêu số nguyên tố không vượt quá a.

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

  • Dòng đầu tiên chứa số nguyên dương q.
  • q dòng tiếp theo, mỗi dòng chứa một số nguyên a.

Kết quả: Ghi ra file văn bản NTLONNHAT.OUT gồm q dòng, mỗi dòng hai số: số nguyên tố lớn nhất không vượt quá a và số lượng số nguyên tố không vượt quá a.

Ví dụ:

NTLONNHAT.INPNTLONNHAT.OUTGiải thích
3
10
45
2
7 4
43 14
2 1
Các số nguyên tố không vượt quá 10 là 2, 3, 5, 7.

Ràng buộc:

  • Có 40% số test với q ≤ 100, a ≤ 104.
  • Có 60% số test với q ≤ 105, a ≤ 5 × 106.

Bài 4. Thu hoạch trên thửa ruộng (6 điểm)

Phần tiêu đề “Bài 4. Thu hoạch trên thửa ruộng (6 điểm)”

Một cánh đồng hình chữ nhật được chia thành lưới m hàng, n cột; ô ở hàng i, cột j có sản lượng aij (có thể âm nếu ô đó bị thiệt hại, phải bù lỗ). Người ta cần trả lời q câu hỏi, mỗi câu hỏi là tổng sản lượng của một thửa ruộng hình chữ nhật con.

Yêu cầu: Với mỗi câu hỏi (x1, y1, x2, y2), tính tổng các ô từ hàng x1 đến hàng x2, từ cột y1 đến cột y2.

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

  • Dòng đầu tiên chứa ba số nguyên dương m, n, q.
  • m dòng tiếp theo, mỗi dòng chứa n số nguyên (|aij| ≤ 109).
  • q dòng tiếp theo, mỗi dòng chứa bốn số nguyên x1, y1, x2, y2 (1 ≤ x1 ≤ x2 ≤ m, 1 ≤ y1 ≤ y2 ≤ n).

Kết quả: Ghi ra file văn bản TONGHCN.OUT gồm q dòng là câu trả lời cho các câu hỏi.

Ví dụ:

TONGHCN.INPTONGHCN.OUTGiải thích
3 4 2
1 2 3 4
5 6 7 8
9 10 11 12
2 2 3 3
1 1 3 4
34
78
6 + 7 + 10 + 11 = 34; tổng cả bảng là 78.

Ràng buộc:

  • Có 40% số test với m, n ≤ 50, q ≤ 100.
  • Có 60% số test với m, n ≤ 500, q ≤ 105.