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

Bảng A 2026 - Thành phố Hồ Chí Minh (Bán kết)

HỘI THI TIN HỌC TRẺ THÀNH PHỐ HỒ CHÍ MINH Năm 2026

ĐỀ THI VÒNG BÁN KẾT BẢNG A – KHỐI TIỂU HỌC Lập trình bằng Scratch 3.0 hoặc Python 3


BàiTên bàiTên tệpĐiểm tối đaĐiểm trong giờ thi
1Truyền tintruyentin.*3015
2Mật thư dịch chuyểnmatthu.*3515
3Vương quốc kẹovuongquockeo.*3515

Dấu * tương ứng với sb3 hoặc py tùy theo thí sinh lập trình bằng ngôn ngữ Scratch 3.0 hoặc Python 3. Điểm trong giờ thi là điểm chấm trên 50% test chính thức.

Mỗi bài: dữ liệu nhập từ bàn phím (standard input), kết quả ghi ra màn hình (standard output), hạn chế thời gian 1 giây, hạn chế bộ nhớ 1 gigabyte.

Trong một hệ thống truyền tin kỹ thuật số, một giá trị dữ liệu gốc A₀ được truyền qua một chuỗi gồm K trạm tiếp sóng. Do đặc tính của đường truyền, tại mỗi trạm tiếp sóng i (với i chạy từ 1 đến K), giá trị dữ liệu sẽ bị biến đổi (suy giảm) so với trạm trước đó theo công thức cố định:

Aᵢ = Aᵢ₋₁ : 2 − 3

Giả sử rằng quá trình truyền tin luôn đảm bảo giá trị Aᵢ₋₁ tại mỗi trạm là một số nguyên dương chẵn để phép chia luôn hết.

Yêu cầu: Cho biết giá trị nhận được tại trạm cuối cùng là A_K = N, hãy tìm lại giá trị dữ liệu gốc ban đầu A₀.

Dữ liệu vào: Gồm hai dòng:

  • Dòng đầu chứa số nguyên dương N (N là giá trị tại trạm cuối cùng, 1 ≤ N ≤ 20).
  • Dòng thứ hai chứa số nguyên dương K (K là số lượng trạm tiếp sóng, 1 ≤ K ≤ 1000).

Kết quả ra: Một số nguyên duy nhất là giá trị dữ liệu gốc A₀ tìm được.

Giới hạn:

  • Subtask 1 (40% số điểm): K = 3, N ≤ 10.
  • Subtask 2 (60% số điểm): K ≤ 1000, N ≤ 20.

Ví dụ:

InputOutputGiải thích
8
3
106Tính ngược từ 8 (giá trị của A₃):
Bước 1: A₂ = (8 + 3) × 2 = 22
Bước 2: A₁ = (22 + 3) × 2 = 50
Bước 3: A₀ = (50 + 3) × 2 = 106

Hướng giải đề xuất (có trong đề):

  • Subtask 1: Thực hiện đúng 3 bước như ví dụ mẫu.
  • Subtask 2: Thực hiện vòng lặp từ 1 đến K để áp dụng công thức.

Hướng tới Kỷ niệm 50 năm Thành phố Sài Gòn - Gia Định vinh dự mang tên Chủ tịch Hồ Chí Minh (02/7/1976 - 20/7/2026), ban tổ chức hội trại truyền thống của trường thiết kế các trò chơi “mật thư chạy trạm” dành cho học sinh.

Để tạo các thông điệp bí mật giữa các trạm, các anh chị phụ trách sử dụng phương pháp mã hóa dịch chuyển:

  • mỗi chữ cái sẽ được thay bằng chữ cái đứng sau nó k vị trí trong bảng chữ cái tiếng Anh;
  • nếu vượt quá ‘Z’ thì quay vòng trở lại từ đầu bảng chữ cái.

Ví dụ, với k = 2: A → C, X → Z, Y → A.

Yêu cầu: Viết chương trình để xây dựng công cụ tạo mật thư.

Biết rằng thứ tự bảng chữ cái tiếng Anh như sau: ABCDEFGHIJKLMNOPQRSTUVWXYZ

Dữ liệu vào:

  • Dòng đầu tiên chứa một chuỗi ký tự gồm: chữ cái tiếng Anh viết in hoa, khoảng trắng, và các ký tự đặc biệt.
  • Dòng thứ hai chứa số nguyên k (1 ≤ k ≤ 25).

Độ dài chuỗi không quá 100 ký tự.

Dữ liệu ra: In ra chuỗi sau khi được mã hóa dịch chuyển.

  • Chỉ mã hóa các chữ cái tiếng Anh.
  • Các ký tự khác được giữ nguyên.

Ví dụ:

Dữ liệu vàoDữ liệu raGiải thích
HELLO CAMP
3
KHOOR FDPSVới k = 3:
H → K
E → H
L → O
…
Tương tự đến hết chuỗi
SAI GON 2026
2
UCK IQP 2026Với k = 2:
S → U
A → C
I → K
Tương tự cho chữ GON
Các ký tự: khoảng trắng, chữ số được giữ nguyên.

(Bản đề gốc ghi “A → X” ở ví dụ 2, nhầm; với k = 2 thì A → C, đúng như kết quả mẫu UCK.)

Nhà vua của Vương quốc Kẹo Ngọt vừa xếp một hàng dài hàng ngàn hộp kẹo. Chú ý nhé, các hộp kẹo được Nhà vua cẩn thận xếp theo mức độ ngọt tăng dần đấy!

Nhà vua muốn tìm chiếc hộp kẹo có mức độ ngọt là x nằm ở vị trí cuối cùng trong hàng để tặng cho bạn nhỏ đánh răng ngoan nhất hôm nay. Nhưng vì hàng kẹo dài quá, Nhà vua đếm đến hoa cả mắt rồi! Các em hãy trổ tài giúp Nhà vua tìm vị trí của chiếc hộp kẹo này nhé.

Đặc biệt hơn, chiếc kẹo được cất trong một cái rương phép thuật. Để mở khóa, các em không chỉ cần tìm ra vị trí cuối cùng, mà còn phải lấy số vị trí đó chia lấy dư cho 2026 để tạo thành mật mã bí mật.

Trong trường hợp các em tìm mỏi mắt từ đầu đến cuối mà chẳng thấy hộp kẹo nào có độ ngọt là x, hãy hô to -1 để Nhà vua biết đường đi siêu thị mua thêm nha!

Yêu cầu: Tìm vị trí cuối cùng của số cần tìm có trong dãy. Kết quả tìm được chia lấy dư cho 2026. Nếu không có thì in -1.

Dữ liệu vào: Mỗi bộ test gồm hai dòng:

  • Dòng đầu tiên là số phần tử của mảng n và phần tử x.
  • Dòng tiếp theo là n số nguyên A[i] của mảng A[]; các số được viết cách nhau một vài khoảng trắng.

Ràng buộc: 1 ≤ x ≤ 100; 1 ≤ n ≤ 10⁵.

Dữ liệu ra:

  • In ra phần dư của vị trí xuất hiện cuối cùng của x khi chia cho 2026.
  • In ra -1 nếu x không nằm trong mảng.

Ví dụ:

InputOutputGiải thích
6 3
1 2 3 3 4 3
6Test 1: x = 3 xuất hiện cuối cùng ở vị trí số 6. Phép tính 6 chia lấy dư 2026 = 6. Do đó kết quả in ra là 6.
5 4
1 3 2 5 2
-1Test 2: x = 4 không có trong mảng nên in ra -1.