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

HSG THCS Tây Ninh 2025-2026

SỞ GIÁO DỤC VÀ ĐÀO TẠO TÂY NINH ĐỀ CHÍNH THỨC
(Đề có 3 trang, gồm 3 bài)

KỲ THI CHỌN HỌC SINH GIỎI CÁC MÔN VĂN HÓA CẤP TỈNH Năm học 2025 - 2026
Môn thi: Tin học - Cấp THCS - Ngày thi: 22/3/2026
Thời gian: 150 phút (không kể thời gian phát đề)


Tên bàiFile chương trìnhFile dữ liệu vàoFile kết quả
CHIA QUẢBAI1.*INP1.INPOUT1.OUT
CHUỖI LỄ HỘIBAI2.*INP2.INPOUT2.OUT
NGUYÊN TỐ ĐẶC BIỆTBAI3.*INP3.INPOUT3.OUT

Học sinh tạo thư mục là số báo danh của mình, lưu các bài làm với tên tương ứng BAI1.*, BAI2.*, BAI3.* vào thư mục vừa tạo (dấu * được thay bằng phần mở rộng của ngôn ngữ lập trình dùng để viết chương trình). Ví dụ: D:\B001\BAI1.*

Hãy lập trình giải các bài toán bên dưới.

Nhân dịp đi du lịch, An đã mua n quả táo (2 ≤ n ≤ 1000) về làm quà cho k bạn (2 ≤ k ≤ 20). Mỗi quả táo có trọng lượng 50g hoặc 100g. Bây giờ An muốn chia đều n quả táo trên thành các phần có trọng lượng bằng nhau để chia cho k bạn. Bạn hãy giúp An chia n quả táo trên thành k phần có trọng lượng bằng nhau được không (Khi chia k phần, các quả táo đều nguyên vẹn).

Yêu cầu:

a) Viết chương trình kiểm tra có thể chia được n quả táo với k phần có trọng lượng bằng nhau được không.

b) Nếu chia được thì xuất kết quả danh sách trọng lượng các quả táo đã chia cho từng người, nếu có nhiều cách chia như ví dụ bên dưới thì chỉ lấy 1 kết quả.

INPUTOUTPUT
Cách chia 13 2
50 100 50
YES
50 50
100
Cách chia 23 2
50 100 50
YES
100
50 50

Dữ liệu vào: lấy từ file INP1.INP có cấu trúc như sau:

  • Dòng 1: Gồm 2 số nguyên n (2 ≤ n ≤ 1000) số lượng các quả táo và k người bạn (2 ≤ k ≤ 20) cách nhau một khoảng trắng.
  • Dòng 2: Gồm n số nguyên a₁, a₂, a₃, …, aₙ là trọng lượng các quả táo mà An đã mua, dữ liệu vào đảm bảo chỉ có hai trường hợp aᵢ = 50 hoặc aᵢ = 100 và cách nhau một khoảng trắng.

Kết quả: ghi ra file OUT1.OUT có cấu trúc như sau:

  • Dòng 1: Kết quả câu a nếu chia được thì ghi YES, không chia được thì ghi NO.
  • k dòng tiếp theo là danh sách kết quả câu b (nếu có).

Ví dụ:

INPUTOUTPUT
3 2
50 100 50
YES
50 50
100
4 4
50 50 50 100
NO

Trong một lễ hội thuộc đất nước BB, do số lượng người tham gia lễ hội quá lớn, dòng người bị tắc nghẽn.

Ban tổ chức đặt ra quy định:

Quy định 1: Nếu có hai người mặc áo có màu giống nhau và đứng cạnh nhau, họ có nguy cơ dừng lại chụp hình, gây tắc nghẽn → vì vậy cặp đó sẽ được mời sang lối đi khác (tương đương xóa khỏi hàng).

Quy định 2: Sau khi hai người cùng màu áo sang lối đi khác (xóa khỏi hàng), người phía trước và phía sau của cặp người vừa xóa khỏi hàng gần lại thành hàng mới có thể tạo thành cặp mới có màu áo giống nhau nên quy định 1 tiếp tục lặp lại và quy định 2 cũng lặp lại (nếu có) cho đến khi không còn người nào đứng cạnh nhau có cùng màu áo.

Yêu cầu: Cho chuỗi S bao gồm chữ cái latin và chữ số là mã hóa (biểu diễn) màu áo của dòng người tham gia lễ hội. Mỗi ký tự (chữ hoặc số) trong S tương ứng với màu áo của một người trong hàng.

Tìm chuỗi cuối cùng sau khi mọi cặp liền kề giống nhau đã bị loại bỏ. Nếu chuỗi cuối cùng rỗng thì ghi “Empty”. (Chuỗi có chứa khoảng trắng, phải loại bỏ tất cả khoảng trắng trước khi xử lý).

Dữ liệu vào: lấy từ file INP2.INP có cấu trúc như sau:

  • Một dòng duy nhất chứa chuỗi ký tự S (1 ≤ S ≤ 10⁶).

Kết quả: ghi ra file OUT2.OUT có cấu trúc như sau:

  • Một dòng duy nhất ghi chuỗi kết quả sau khi xóa các cặp trùng. Chuỗi kết quả rỗng ghi “Empty”.

Ví dụ:

INPUTOUTPUTGiải thích
abccbaEmpty• Đầu tiên xóa cc thu được abba
• Xóa tiếp bb thu được aa
• Xóa aa chuỗi rỗng ghi “Empty”
1122dd2121• Đầu tiên xóa 11 thu được 22dd21
• Xóa tiếp 22 thu được dd21
• Xóa dd thu được chuỗi kết quả 21
a a b b c c d d ee• Xóa khoảng trắng thu được aabbccdde
• Xóa aa thu được bbccdde
• Xóa bb thu được ccdde
• Xóa cc thu được dde
• Xóa dd thu được chuỗi kết quả e

Tym là một học sinh rất yêu thích môn toán đặc biệt là các dạng Toán số. Trong một lần giải bài tập về số nguyên tố, Tym vô tình phát hiện ra một loại số nguyên tố rất đặc biệt. Tym gọi là “Số nguyên tố đặc biệt” khi số đó thỏa mãn các điều kiện sau:

  • N là số nguyên tố. (Số nguyên tố là số tự nhiên lớn hơn 1 và là số chỉ chia hết cho 1 và chính nó)
  • Tổng các chữ số của N cũng là số nguyên tố.

Tym muốn tìm được các “Số nguyên tố đặc biệt” trong một khoảng từ L đến R (1 ≤ L ≤ R ≤ 10⁹).

Yêu cầu: Em hãy viết chương trình giúp Tym tìm được các “Số nguyên tố đặc biệt” trong khoảng từ L đến R.

Dữ liệu vào: lấy từ file INP3.INP có cấu trúc như sau:

  • Một dòng duy nhất chứa 2 số L và R được cách nhau bởi khoảng trắng.

Kết quả: Ghi ra file OUT3.OUT có cấu trúc như sau:

  • Một dòng duy nhất danh sách các “Số nguyên tố đặc biệt” tìm thấy cách nhau bởi một khoảng trắng.

Ví dụ:

INPUTOUTPUT
10 2011
1 102 3 5 7
1 302 3 5 7 11 23 29

Thí sinh không được sử dụng tài liệu. Giám thị không giải thích gì thêm.