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

HSG THPT - GDTX Đắk Lắk 2025-2026

SỞ GIÁO DỤC VÀ ĐÀO TẠO TỈNH ĐẮK LẮK ĐỀ CHÍNH THỨC
(Đề thi có 04 trang, 05 bài)

KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH THPT - GDTX Năm học 2025 - 2026
Môn thi: Tin học - Ngày thi: 10/3/2026
Thời gian làm bài: 180 phút (không kể thời gian giao đề)


BàiFile bài làmDữ liệu vàoKết quảĐiểm
Bài 1. Phương trìnhBai1.*BAI1.INPBAI1.OUT4,00
Bài 2. Mật khẩuBai2.*BAI2.INPBAI2.OUT4,00
Bài 3. Dãy sốBai3.*BAI3.INPBAI3.OUT4,00
Bài 4. Trò chơiBai4.*BAI4.INPBAI4.OUT4,00
Bài 5. Mạng máy tínhBai5.*BAI5.INPBAI5.OUT4,00

Kí tự ’*’ được thay bằng ‘CPP’ nếu sử dụng ngôn ngữ lập trình C/C++, được thay thế bằng ‘PY’ nếu sử dụng ngôn ngữ lập trình Python, hoặc phần mở rộng của các ngôn ngữ lập trình tương đương.

Cho phương trình có dạng ax + b = 0, trong đó a, b là số nguyên, x là ẩn số.

Yêu cầu: Đưa ra thông báo về nghiệm của phương trình. Nếu phương trình vô nghiệm thì đưa ra thông báo “VN”. Nếu phương trình có vô số nghiệm thì đưa ra thông báo “VSN”. Nếu phương trình có một nghiệm duy nhất thì đưa ra thông báo “NDN”.

Dữ liệu vào: Từ file văn bản BAI1.INP gồm một dòng chứa hai số nguyên a, b (−10¹⁸ ≤ a, b ≤ 10¹⁸), các số cách nhau bởi dấu cách.

Kết quả: Ghi ra file văn bản BAI1.OUT một dòng chứa thông báo về nghiệm của phương trình.

Ví dụ:

BAI1.INPBAI1.OUT
1 9NDN

Bạn An rất đam mê lập trình. Một hôm, An nhận được thông báo nhận thưởng từ công ty phần mềm mà An thường xuyên sử dụng sản phẩm của công ty đó. Phần thưởng là phiên bản mới của phần mềm trò chơi trí tuệ mà An rất yêu thích. Tuy nhiên, để tải phần mềm này về máy tính thì An cần phải nhập mật khẩu. Mật khẩu là một xâu kí tự nhận được khi An giải xong bài toán mà công ty đã gửi cho An như sau:

Cho n xâu kí tự S₁, S₂, …, Sₙ chỉ chứa các kí tự thuộc tập chữ cái Latin in hoa từ ‘A’ đến ‘Z’. Với mỗi xâu kí tự Sᵢ (1 ≤ i ≤ n) có một kí tự xuất hiện một lần, các kí tự còn lại xuất hiện ít nhất hai lần. Mật khẩu là một xâu gồm n kí tự, trong đó kí tự thứ i (1 ≤ i ≤ n) là kí tự xuất hiện một lần trong xâu Sᵢ.

Yêu cầu: Hãy đưa ra mật khẩu mà An cần tìm.

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

  • Dòng đầu tiên ghi số nguyên dương n là số lượng xâu kí tự (1 ≤ n ≤ 10³)
  • Dòng thứ i trong n dòng tiếp theo ghi một xâu kí tự Sᵢ có độ dài không quá 10³.

Kết quả: Ghi ra file văn bản BAI2.OUT một xâu kí tự là mật khẩu tìm được.

Ví dụ:

BAI2.INPBAI2.OUTGiải thích
3
ACADD
FAAA
ABBBAFAAA
CFFCó 3 xâu kí tự:
Xâu “ACADD”: kí tự C xuất hiện 1 lần
Xâu “FAAA”: kí tự F xuất hiện 1 lần
Xâu “ABBBAFAAA”: kí tự F xuất hiện 1 lần
Ta có mật khẩu là: “CFF”

Giới hạn:

  • 60% số điểm của bài ứng với các test có n = 1, độ dài xâu không quá 255;
  • 20% số điểm của bài ứng với các test có n ≤ 100, độ dài xâu không quá 255;
  • 20% số điểm của bài ứng với các test không có ràng buộc gì thêm.

Hai bạn An và Bình chơi trò chơi trên hai dãy số như sau: An sẽ tạo ra hai dãy số nguyên x₁, x₂, …, xₘ và y₁, y₂, …, yₙ. Sau đó, Bình sẽ chọn một số nguyên s và yêu cầu An tìm một số thuộc dãy thứ nhất và một số thuộc dãy thứ hai sao cho tổng hai số được chọn chênh lệch với s là nhỏ nhất. Giả sử tổng của hai số tìm được là t thì chênh lệch: |t − s|.

Yêu cầu: Cho hai dãy số nguyên x₁, x₂, …, xₘ và y₁, y₂, …, yₙ mà An đã tạo ra, cho s₁, s₂, …, sₖ là k câu hỏi của Bình. Với câu hỏi sᵤ (1 ≤ u ≤ k) đưa ra giá trị chênh lệch nhỏ nhất của sᵤ với tổng hai số tìm được.

Dữ liệu vào: Từ file văn bản BAI3.INP:

  • Dòng đầu chứa ba số nguyên dương m, n, k (m, n ≤ 10⁵, k ≤ 500);
  • Dòng thứ hai chứa m số nguyên x₁, x₂, …, xₘ (|xᵢ| ≤ 10⁹, 1 ≤ i ≤ m);
  • Dòng thứ ba chứa n số nguyên y₁, y₂, …, yₙ (|yⱼ| ≤ 10⁹, 1 ≤ j ≤ n);
  • Dòng thứ tư chứa k số nguyên s₁, s₂, …, sₖ (|sᵤ| ≤ 10⁹, 1 ≤ u ≤ k).

Các số trên một dòng của dữ liệu vào được ghi cách nhau bởi dấu cách.

Kết quả: Ghi ra file văn bản BAI3.OUT gồm k dòng, dòng thứ u ghi giá trị chênh lệch nhỏ nhất của sᵤ với tổng hai số tìm được.

Ví dụ:

BAI3.INPBAI3.OUT
3 4 2
1 3 2
-1 5 3 1
2 9
0
1

Giới hạn:

  • 40% số điểm của bài ứng với các test có m, n ≤ 10³, k ≤ 10;
  • 40% số điểm của bài ứng với các test có m, n ≤ 10⁵; k ≤ 10;
  • 20% số điểm của bài ứng với các test có m, n ≤ 10⁵; k ≤ 500.

Ban tổ chức giải đấu lập trình game tạo ra n game cho các thí sinh, game thứ i (1 ≤ i ≤ n) có độ hấp dẫn là kᵢ. Bạn Nam là một thí sinh tham gia giải đấu, Nam được t đơn vị thời gian để chơi các game này. Nam thử lần lượt từng game theo thứ tự từ 1 đến n khi chưa hết thời gian, mỗi game đều là mới với Nam, nên bạn ấy có hai lựa chọn sau:

  • Xem tựa game và chơi hết game đó sẽ tốn a đơn vị thời gian;
  • Chỉ xem tựa game mà không chơi thì sẽ tốn b đơn vị thời gian.

Mỗi game nếu chơi hết thì sẽ nhận được độ hấp dẫn của game đó, nếu chỉ xem tựa game hoặc chơi chưa xong thì không nhận được độ hấp dẫn nào. Chỉ khi đã xem tựa game thứ i hoặc chơi game thứ i thì Nam mới có thể chuyển sang game thứ i + 1.

Yêu cầu: Tính độ hấp dẫn tối đa mà Nam nhận được.

Dữ liệu vào: Từ file văn bản BAI4.INP có cấu trúc như sau:

  • Dòng đầu tiên chứa bốn số nguyên dương n, t, a, b (n ≤ 2 × 10⁵; t ≤ 10⁹; b < a ≤ 10⁹);
  • Dòng thứ hai chứa n số nguyên dương k₁, k₂, …, kₙ (kᵢ ≤ 10⁹, 1 ≤ i ≤ n).

Các số trên một dòng của dữ liệu vào được ghi cách nhau bởi dấu cách.

Kết quả: Ghi ra file văn bản BAI4.OUT một số nguyên là giá trị độ hấp dẫn tối đa của Nam đạt được sau thời gian t.

Ví dụ:

BAI4.INPBAI4.OUTGiải thích
3 5 2 1
2 2 4
6Chơi game 1 hết 2 đơn vị thời gian, xem game 2 hết 1 đơn vị thời gian, chơi game 3 hết 2 đơn vị thời gian. Độ hấp dẫn đạt được là: 2 + 4 = 6
3 5 2 1
4 3 2
7Chơi game 1, 2 hết 4 đơn vị thời gian. Độ hấp dẫn là 7.
5 10 3 1
6 1 1 5 5
12Chơi game 1, xem game 2 và chơi game 3, 4. Không làm gì với game 5. Độ hấp dẫn là 12

Giới hạn:

  • 20% số điểm của bài ứng với các test có kᵢ ≥ kᵢ₊₁, 1 ≤ i ≤ n − 1;
  • 40% số điểm của bài ứng với các test có n, t ≤ 10³;
  • 40% số điểm của bài ứng với các test có kᵢ < kᵢ₊₁, 1 ≤ i ≤ n − 1.

Trung tâm tin học của Nam có n máy tính, các máy tính được đánh số từ 1 đến n. Hiện tại đang có m (m ≥ n − 1) dây nối giữa các máy tính, dây nối thứ k (1 ≤ k ≤ m) nối hai máy tính uₖ, vₖ (uₖ ≠ vₖ) và giúp truyền tin theo cả hai chiều giữa hai máy, có thể có nhiều dây nối giữa hai máy tính. Hiện tại, n máy tính có thể không liên thông với nhau, Nam có thể tháo dây nối để đấu nối lại với mong muốn làm cho n máy tính liên thông, Nam có thể thực hiện:

  • Tháo một đầu nối của dây thứ k để đấu nối sang máy tính khác, hành động này mất chi phí cₖ;
  • Tháo cả hai đầu nối của dây thứ k để đấu nối sang hai máy tính khác, hành động này mất chi phí 2 × cₖ.

Yêu cầu: Tính chi phí ít nhất cần thực hiện để liên thông được n máy tính.

Dữ liệu vào: Từ file văn bản BAI5.INP:

  • Dòng đầu chứa hai số nguyên dương n, m (n ≤ 10⁵; n − 1 ≤ m ≤ 2 × 10⁵);
  • Dòng thứ k (1 ≤ k ≤ m) trong m dòng tiếp theo chứa ba số nguyên dương uₖ, vₖ, cₖ (cₖ ≤ 10⁶).

Các số trên một dòng của dữ liệu vào được ghi cách nhau bởi dấu cách.

Kết quả: Ghi ra file văn bản BAI5.OUT gồm một dòng chứa một số là chi phí ít nhất tìm được.

Ví dụ:

BAI5.INPBAI5.OUTGiải thích
3 3
1 2 1
1 2 2
1 3 1
0Các máy đã liên thông nên không cần nối dây. Chi phí là 0.
3 3
1 2 1
1 2 2
1 2 3
1Máy 3 không liên thông, tháo một đầu nối của dây 1 (u₁ = 1, v₁ = 1, c₁ = 1) nối với máy 3. Chi phí là 1.

Giới hạn:

  • 50% số điểm của bài ứng với các test có cₖ = 1, 1 ≤ k ≤ m;
  • 25% số điểm của bài ứng với các test có m, n ≤ 10³;
  • 25% số điểm của bài ứng với các test không có ràng buộc gì thêm.

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