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

HSG lớp 12 Tuyên Quang 2025-2026

SỞ GIÁO DỤC VÀ ĐÀO TẠO TUYÊN QUANG ĐỀ CHÍNH THỨC
(Đề này có 03 trang)

ĐỀ THI CHỌN HỌC SINH GIỎI CẤP TỈNH LỚP 12 THPT Năm học 2025 - 2026
Môn thi: Tin học - Ngày thi: 01 tháng 3 năm 2026
Thời gian: 180 phút (không kể thời gian giao đề)


BàiTên bàiTệp chương trìnhTệp dữ liệuTệp kết quảĐiểm
Bài 1CẶP SỐ CHẴNCAPCHAN.*CAPCHAN.INPCAPCHAN.OUT5,0
Bài 2TỔNG ƯỚCTONGUOC.*TONGUOC.INPTONGUOC.OUT5,0
Bài 3TƯƠNG PHẢNTUONGPHAN.*TUONGPHAN.INPTUONGPHAN.OUT5,0
Bài 4CỨU TRỢCUUTRO.*CUUTRO.INPCUUTRO.OUT5,0

Dấu * được thay thế bởi một trong ba phần mở rộng là: PAS, CPP hoặc PY của ngôn ngữ lập trình sử dụng tương ứng là Pascal, C++ hoặc Python.

Em hãy viết chương trình giải các bài toán sau:

Cho một dãy a gồm n số nguyên không âm a₁, a₂, …, aₙ.

Yêu cầu: Viết chương trình đếm số lượng cách chọn ra trong dãy a hai phần tử sao cho tích của hai phần tử đó là một số chẵn.

Dữ liệu: Vào từ tệp CAPCHAN.INP có cấu trúc như sau:

  • Dòng 1: Chứa một số nguyên n (2 ≤ n ≤ 10⁶);
  • Dòng 2: Chứa n số nguyên a₁, a₂, …, aₙ (0 ≤ aᵢ ≤ 10¹⁸ với 1 ≤ i ≤ n), các số cách nhau bởi một dấu cách trống.

Kết quả: Ghi vào tệp CAPCHAN.OUT một số nguyên duy nhất là số lượng cặp số thỏa mãn yêu cầu đề bài.

Ví dụ:

CAPCHAN.INPCAPCHAN.OUT
5
1 6 6 13 8
9

Ràng buộc:

  • Có 40% số test ứng 40% số điểm của bài với n ≤ 10³;
  • Có 30% số test ứng 30% số điểm của bài với aᵢ chẵn (1 ≤ i ≤ n);
  • 30% số test còn lại ứng 30% số điểm của bài không có thêm ràng buộc.

Cho dãy số a gồm n số nguyên dương a₁, a₂, …, aₙ. Viết chương trình tính tổng các ước dương của mỗi phần tử trong dãy a.

Dữ liệu: Vào từ tệp TONGUOC.INP có cấu trúc như sau:

  • Dòng 1: Chứa số nguyên dương n (n ≤ 10⁶);
  • Dòng 2: Chứa n số nguyên dương a₁, a₂, …, aₙ (aᵢ ≤ 10⁶; 1 ≤ i ≤ n).

Kết quả: Ghi ra tệp TONGUOC.OUT gồm một dòng chứa n số nguyên, số thứ i là tổng các ước dương của phần tử aᵢ.

Ví dụ:

TONGUOC.INPTONGUOC.OUT
4
2 4 10 9
3 7 18 13

Ràng buộc:

  • Có 40% số test ứng với 40% số điểm của bài có n = 1;
  • Có 30% số test ứng với 30% số điểm của bài có 1 < n ≤ 10³;
  • 30% số test còn lại ứng với 30% số điểm của bài không có thêm ràng buộc.

Trong tiết học Mỹ thuật, Zin được cô giáo giao cho bài tập phối màu cho các đỉnh của p hình tam giác như sau: Zin được cung cấp n hình tròn được đánh số lần lượt từ 1 đến n. Hình tròn thứ i có màu sắc được mã hóa thành một số nguyên aᵢ.

Đầu tiên Zin chọn ra 3 hình tròn để dán lên 3 đỉnh của tam giác thứ nhất, giả sử chọn các hình tròn có số thứ tự i, j, k (i < j < k) khi đó độ tương phản của tam giác thứ nhất bằng max(aᵢ, aⱼ, aₖ) − min(aᵢ, aⱼ, aₖ).

Sau đó, Zin chọn 3 hình tròn tiếp theo (từ hình tròn có số thứ tự lớn hơn k) để trang trí cho tam giác thứ 2.

Lặp đi lặp lại các thao tác trên cho đến khi trang trí đủ p hình tam giác. Độ tương phản của p hình tam giác là độ tương phản của hình tam giác có độ tương phản lớn nhất.

Yêu cầu: Hãy giúp Zin trang trí cho p hình tam giác để có độ tương phản là nhỏ nhất có thể.

Dữ liệu: Vào từ tệp TUONGPHAN.INP có cấu trúc như sau:

  • Dòng 1: Chứa hai số nguyên n, p (3 ≤ n ≤ 500; 3 ≤ 3 × p ≤ n);
  • Dòng 2: Chứa n số nguyên a₁, a₂, …, aₙ (|aᵢ| ≤ 10⁹; 1 ≤ i ≤ n).

Kết quả: Ghi ra tệp TUONGPHAN.OUT một số nguyên duy nhất là độ tương phản nhỏ nhất có thể tìm được.

Ví dụ:

TUONGPHAN.INPTUONGPHAN.OUTHình minh họa
10 2
3 9 4 4 -7 13 -6 4 -5 1
2Tam giác thứ nhất có các đỉnh 3, 4, 4: độ tương phản bằng 1.
Tam giác thứ hai có các đỉnh −7, −6, −5: độ tương phản bằng 2.

Ràng buộc:

  • Có 40% số test ứng với 40% số điểm của bài có 3 × p = n;
  • Có 30% số test ứng với 30% số điểm của bài có p = 1;
  • 30% số test còn lại ứng với 30% số điểm của bài không có thêm ràng buộc.

Sau trận mưa lũ lớn, trung tâm cứu trợ đặt tại địa điểm số 1 cần vận chuyển hàng hóa đến khu vực bị cô lập nghiêm trọng nhất tại địa điểm số N.

Hệ thống giao thông gồm N địa điểm được đánh số từ 1 đến N và M con đường hai chiều nối các địa điểm. Mỗi con đường nối hai địa điểm u, v có chi phí vận chuyển là c và giới hạn tải trọng tối đa là w (tấn).

Do điều kiện cầu đường không đồng đều, nếu một con đường trong hành trình chỉ chịu được w (tấn) thì xe chỉ có thể vận chuyển tối đa w (tấn) theo hành trình đó. Vì vậy, tải trọng của một hành trình được xác định bằng giá trị nhỏ nhất trong các giới hạn tải trọng của các con đường thuộc hành trình.

Xe cứu trợ chỉ chọn một hành trình duy nhất từ địa điểm 1 đến địa điểm N. Hiệu quả của hành trình được xác định bởi:

Hiệu quả = Tải trọng của hành trình / Tổng chi phí của hành trình

Yêu cầu: Hãy xác định hiệu quả lớn nhất có thể đạt được.

Dữ liệu: Vào từ tệp CUUTRO.INP có cấu trúc như sau:

  • Dòng đầu tiên chứa hai số nguyên N, M (2 ≤ N ≤ 1000; 1 ≤ M ≤ 1000);
  • M dòng tiếp theo, mỗi dòng chứa bốn số nguyên dương u, v, c, w (u, v ≤ N; u ≠ v; c, w ≤ 1000).

Dữ liệu đảm bảo tồn tại ít nhất một đường đi từ 1 đến N.

Kết quả: Ghi ra tệp CUUTRO.OUT một số là 10⁶ lần giá trị hiệu quả lớn nhất, lấy phần nguyên (tức là làm tròn xuống nếu giá trị này không phải số nguyên).

Ví dụ:

CUUTRO.INPCUUTRO.OUT
3 3
2 1 2 4
2 3 5 3
1 3 15 2
428571

Giải thích:

  • Nếu đi theo tuyến đường 1 → 2 → 3 thì tải trọng tối đa bằng min(4, 3) = 3 và tổng chi phí là 2 + 5 = 7, hiệu quả đạt được là 3/7;
  • Nếu đi theo tuyến đường 1 → 3 thì tải trọng tối đa bằng 2 và tổng chi phí bằng 15, hiệu quả đạt được là 2/15;

Vậy hiệu quả lớn nhất là 3/7. Theo yêu cầu đề bài, kết quả là ⌊10⁶ × 3/7⌋ = 428571.

Ràng buộc:

  • Có 30% số test ứng 30% số điểm của bài có 2 ≤ N, M ≤ 100 và mọi con đường có w bằng nhau;
  • Có 30% số test ứng 30% số điểm của bài có 2 ≤ N, M ≤ 100;
  • 40% số test còn lại ứng 40% số điểm của bài không có thêm ràng buộc.

Hết