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

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

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

ĐỀ SỐ 10 Thời gian làm bài: 150 phút
3 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
1Chuẩn hóa họ tênCHUANHOA.*CHUANHOA.INPCHUANHOA.OUT6
2Ma trận xoắn ốcXOANOC.*XOANOC.INPXOANOC.OUT6
3Số phong phúPHONGPHU.*PHONGPHU.INPPHONGPHU.OUT8

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

Khi nhập danh sách lớp, các bạn gõ họ tên không dấu rất tùy tiện: lẫn chữ hoa chữ thường, thừa dấu cách ở đầu, cuối và giữa các từ (ví dụ nguyEn VaN bINh).

Yêu cầu: Cho một họ tên, hãy in ra:

  1. Họ tên viết in hoa toàn bộ, các từ cách nhau đúng một dấu cách.
  2. Họ tên chuẩn: chữ cái đầu mỗi từ in hoa, các chữ còn lại in thường, các từ cách nhau đúng một dấu cách.
  3. Tên viết tắt: các chữ cái đầu của mỗi từ, in hoa, viết liền nhau.

Dữ liệu vào: Từ file văn bản CHUANHOA.INP gồm một dòng chứa họ tên (chỉ gồm chữ cái tiếng Anh và dấu cách, có ít nhất một từ).

Kết quả: Ghi ra file văn bản CHUANHOA.OUT gồm ba dòng theo thứ tự trên.

Ví dụ:

CHUANHOA.INPCHUANHOA.OUT
nguyEn VaN bINhNGUYEN VAN BINH
Nguyen Van Binh
NVB

Ràng buộc: Độ dài dòng không quá 1000 kí tự.

Điền các số 1, 2, …, n2 vào bảng vuông n × n theo hình xoắn ốc cùng chiều kim đồng hồ, bắt đầu từ ô trên cùng bên trái. Ví dụ với n = 4:

Cột 1Cột 2Cột 3Cột 4
Hàng 11234
Hàng 21213145
Hàng 31116156
Hàng 410987

Yêu cầu: Trả lời q câu hỏi, mỗi câu hỏi cho biết số được điền ở ô hàng r, cột c.

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

  • Dòng đầu tiên chứa hai số nguyên dương n và q.
  • q dòng tiếp theo, mỗi dòng chứa hai số nguyên r, c (1 ≤ r, c ≤ n).

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

Ví dụ:

XOANOC.INPXOANOC.OUT
4 4
1 1
2 1
3 3
2 2
1
12
15
13

Ràng buộc:

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

Số phong phú là số nguyên dương có tổng các ước dương (không kể chính nó) lớn hơn nó. Ví dụ 12 là số phong phú vì 1 + 2 + 3 + 4 + 6 = 16 > 12; còn 10 không phải vì 1 + 2 + 5 = 8.

Yêu cầu: Cho q đoạn [a, b], với mỗi đoạn hãy đếm số lượng số phong phú thuộc đoạn đó.

Dữ liệu vào: Từ file văn bản PHONGPHU.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 hai số nguyên a, b (1 ≤ a ≤ b).

Kết quả: Ghi ra file văn bản PHONGPHU.OUT gồm q dòng, dòng thứ i là số lượng số phong phú trong đoạn thứ i.

Ví dụ:

PHONGPHU.INPPHONGPHU.OUTGiải thích
2
12 20
1 11
3
0
Trong [12, 20] có 12, 18, 20. Số phong phú nhỏ nhất là 12.

Ràng buộc:

  • Có 40% số test với q ≤ 10, b ≤ 2000.
  • Có 60% số test với q ≤ 105, b ≤ 2 × 105.