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

Bảng A 2025 - Vòng khu vực miền Trung, miền Bắc

HỘI THI TIN HỌC TRẺ TOÀN QUỐC Lần thứ XXXI - 2025

ĐỀ THI VÒNG KHU VỰC – BẢNG A (TIỂU HỌC) Khu vực miền Trung, miền Bắc


BàiTên bàiGiới hạn thời gianGiới hạn bộ nhớ
1Ghép hình vuông1 giây1 GB
2Xây nhà1 giây1 GB
3Tìm chữ số1 giây1 GB
4Chia hết cho 31 giây1 GB
5Xoá số1 giây1 GB

Bố tặng Dino rất nhiều khối hình vuông cơ bản kích thước 1 × 1.

Hiện Dino đang xếp được 4 cột liên tiếp, mỗi cột gồm a, b, c, d hình vuông cơ bản chồng lên nhau.

Hỏi cần xếp thêm ít nhất bao nhiêu hình vuông cơ bản nữa vào các khối đã xếp để tạo thành một hình vuông?

Yêu cầu: Tìm số lượng tối thiểu hình vuông cơ bản cần thêm vào để tạo thành một hình vuông.

Dữ liệu nhập vào từ bàn phím: Gồm 4 dòng, mỗi dòng chứa một số nguyên dương: a, b, c, d (1 ≤ a, b, c, d ≤ 100)

Kết quả ghi ra màn hình: Một số tự nhiên là số hình vuông cơ bản cần thêm.

Ví dụ:

Dữ liệuKết quảGiải thích
1
3
6
2
24Cần thêm để mỗi cột có 6 hình vuông cơ bản: (6−1)+(6−3)+(6−6)+(6−2) = 12. Cần thêm 2 cột mới cao 6 tầng: 2×6 = 12. Tổng cần thêm: 12 + 12 = 24
Bên trái: 4 cột ô vuông đỏ cao 1, 3, 6, 2. Bên phải: thêm các ô nâu để thành hình vuông 6 × 6 gồm 6 cột

Trên một con đường có n lô đất, mỗi lô sẽ được xây một tòa nhà, đánh số từ 1 đến n từ trái sang phải.

Chính quyền muốn xây một tòa nhà chọc trời tại vị trí k với độ cao h tầng.

Các tòa nhà còn lại cần được xây với độ cao thấp nhất có thể, sao cho:

  • Mỗi tòa nhà có ít nhất 1 tầng.
  • Hai tòa nhà liền kề có độ chênh lệch không quá d tầng.
  • Vẫn phải đảm bảo tòa nhà thứ k cao đúng h tầng.

Yêu cầu: Tính tổng số tầng tối thiểu cần xây cho cả n tòa nhà.

Dữ liệu nhập vào từ bàn phím: Gồm 4 dòng, mỗi dòng là một số nguyên dương:

  • Dòng 1: n – số tòa nhà (1 ≤ n ≤ 10⁷)
  • Dòng 2: k – vị trí tòa nhà chọc trời (1 ≤ k ≤ n)
  • Dòng 3: h – chiều cao của tòa nhà thứ k (1 ≤ h ≤ 10⁸)
  • Dòng 4: d – chênh lệch tối đa giữa 2 nhà liền kề (1 ≤ d < h)

Kết quả ghi ra màn hình: Một dòng duy nhất ghi tổng số tầng tối thiểu cần xây cho n tòa nhà.

Ví dụ:

InputOutputGiải thích
6
2
3
1
10Các tòa nhà từ trái sang: 2 3 2 1 1 1 → tổng số khối cần xây = 10
5
3
6
2
18Các tầng từ trái sang: 2 4 6 4 2 → tổng = 18

Hình minh họa ví dụ 1:

█
█ █ █
█ █ █ █ █ █
1 2 3 4 5 6

Tòa nhà thứ 2 cao nhất (3 tầng), các tòa nhà liền kề giảm dần không quá 1 tầng mỗi lần. Các tòa còn lại xây tối thiểu 1 tầng để tiết kiệm chi phí.

Ràng buộc:

  • Subtask 1 (30 điểm): n ≤ 100
  • Subtask 2 (30 điểm): d = 1
  • Subtask 3 (40 điểm): Không giới hạn gì thêm

Hãy viết liên tiếp các số tự nhiên chia hết cho 3 (theo thứ tự tăng dần), và nối các số đó theo thứ tự lại thành một số mới: 3691215182124…

Hỏi: chữ số thứ N trong số ghép trên là số nào?

Dữ liệu nhập vào từ bàn phím: Một dòng duy nhất chứa một số tự nhiên N (1 ≤ N ≤ 10¹²)

Kết quả ghi ra màn hình: Một số tự nhiên là chữ số thứ N trong số ghép được tạo ra.

Ví dụ:

Dữ liệuKết quả
41

Ràng buộc:

  • 60% số test ứng với 60% số điểm có N ≤ 10³
  • 40% số test còn lại ứng với 40% số điểm không có ràng buộc gì thêm

Cho một số tự nhiên N chỉ gồm các chữ số từ 1 đến 9.

Hãy tìm cách xóa một số chữ số trong N (có thể không xóa chữ số nào), sao cho số còn lại chia hết cho 3 và có giá trị lớn nhất có thể.

Yêu cầu: Đưa ra số lớn nhất có thể tạo thành từ N mà chia hết cho 3 bằng cách xóa một số chữ số (hoặc không xóa chữ số nào).

Dữ liệu nhập vào từ bàn phím: Một dòng duy nhất chứa số tự nhiên N (có số chữ số không quá 10⁴). Lưu ý: Các chữ số trong N chỉ nằm trong khoảng từ 1 đến 9, không có chữ số 0.

Kết quả ghi ra màn hình: Một dòng ghi số lớn nhất chia hết cho 3 theo yêu cầu. Nếu không thể tạo được số nào chia hết cho 3 thì in ra 0.

Ví dụ:

InputOutputGiải thích
2323Xóa hai chữ số ‘2’, còn lại ‘3’ là số chia hết cho 3 lớn nhất
369369Đã chia hết cho 3 → giữ nguyên là số lớn nhất
250Không có cách xóa nào để tạo thành số chia hết cho 3

Ràng buộc:

  • Subtask 1 (30 điểm): N chỉ gồm các chữ số 1, 2, 3
  • Subtask 2 (30 điểm): Độ dài của N không quá 100 chữ số
  • Subtask 3 (40 điểm): Không giới hạn gì thêm

Cho N số tự nhiên từ 1 đến N được đặt lần lượt trên một vòng tròn (số thứ N kề với số 1). Người ta thực hiện xóa lần lượt các số khỏi vòng tròn theo quy tắc:

  • Bắt đầu từ số X, xóa số đó khỏi vòng tròn
  • Mỗi lượt tiếp theo, đếm K bước theo chiều kim đồng hồ (bỏ qua số đã xóa), xóa số thứ K
  • Lặp lại cho đến khi vòng tròn rỗng

Giả sử với N = 5, bắt đầu xóa ở vị trí X = 2, chu kì K = 3 thì các bước xóa lần lượt như sau:

5 hình minh hoạ: vòng tròn 1 đến 5, lượt 1 xoá số 2, lượt 2 xoá số 5, lượt 3 xoá số 4, lượt 4 xoá số 1, cuối cùng xoá số 3

Yêu cầu: Tìm vị trí lượt xóa (thứ mấy) của số M trong quá trình mô phỏng xóa trên vòng tròn.

Dữ liệu nhập vào từ bàn phím: Gồm 4 dòng:

  • Dòng 1: Số nguyên N là số lượng số ban đầu trên vòng tròn (1 ≤ N ≤ 10⁵)
  • Dòng 2: Số nguyên X là vị trí bắt đầu (1 ≤ X ≤ N)
  • Dòng 3: Số nguyên K là bước đếm (1 ≤ K ≤ N)
  • Dòng 4: Số nguyên M là số cần theo dõi (1 ≤ M ≤ N)

Kết quả ghi ra màn hình: Một dòng duy nhất ghi số thứ tự lượt xóa của số M. Nếu M không bị xóa thì in ra 0.

Ví dụ:

InputOutputGiải thích
4
2
2
3
3Dãy ban đầu: [1,2,3,4] → lượt 1 xóa 2 → còn [1,3,4] → lượt 2 xóa 4 → còn [1,3] → lượt 3 xóa 3
6
3
4
4
6Dãy ban đầu: [1,2,3,4,5,6] → theo thứ tự xóa: 3,1,6,2,5,4 → 4 bị xóa ở lượt 6

Ràng buộc:

  • Subtask 1 (30 điểm): N, K ≤ 100
  • Subtask 2 (30 điểm): N, K ≤ 10 000
  • Subtask 3 (40 điểm): N, K ≤ 100 000