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

Tuyển sinh 10 chuyên Tin Nghệ An 2025-2026

SỞ GIÁO DỤC VÀ ĐÀO TẠO NGHỆ AN ĐỀ CHÍNH THỨC

KỲ THI TUYỂN SINH VÀO LỚP 10 TRƯỜNG THPT CHUYÊN PHAN BỘI CHÂU Năm học 2025 - 2026
Môn thi: Tin học
Thời gian: 150 phút, không kể thời gian giao đề


CâuTên bàiFile chương trìnhFile dữ liệuFile kết quảThời gianBộ nhớ
1SỐ THÚ VỊFUNNY.*FUNNY.INPFUNNY.OUT1 giây1024 MB
2HỘP QUÀ MAY MẮNLUCKY.*LUCKY.INPLUCKY.OUT1 giây1024 MB
3QUY HOẠCH THÀNH PHỐPLAN.*PLAN.INPPLAN.OUT1 giây1024 MB
4ĐẦU TƯ TÀI CHÍNHINVP.*INVP.INPINVP.OUT1 giây1024 MB

Dấu * được thay thế bởi CPP/PY của ngôn ngữ lập trình sử dụng tương ứng là C++/Python.

Bình là người đam mê Toán học và thích tìm hiểu về các số có tính chất đặc biệt. Bình gọi số nguyên dương X là số thú vị nếu hai chữ số tận cùng của X tạo thành một số chia hết cho số nguyên dương k cho trước.

Ví dụ, nếu k = 12 thì số 1236 là số thú vị vì có hai chữ số cuối là 36 chia hết cho 12. Ngược lại, số 1457 không phải là số thú vị.

Bình muốn đếm số lượng số thú vị trong đoạn [a; b].

Em hãy viết chương trình giúp Bình giải quyết bài toán trên.

Yêu cầu: Đưa ra số lượng số thú vị trong đoạn [a; b].

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

  • Dòng đầu tiên ghi hai số nguyên dương T và k (T ≤ 105, k ≤ 99);
  • T dòng tiếp theo, mỗi dòng ghi hai số nguyên dương a, b (102 ≤ a ≤ b ≤ 1018).

Kết quả: Ghi ra tệp văn bản FUNNY.OUT gồm T dòng, mỗi dòng tương ứng là số lượng số thú vị trong đoạn [a; b].

Ví dụ:

FUNNY.INPFUNNY.OUTGiải thích
2 11
100 200
201 300
11
10
Từ 100 → 200 có 11 số có 2 chữ số tận cùng chia hết cho 11;
Từ 201 → 300 có 10 số có 2 chữ số tận cùng chia hết cho 11.

Giới hạn:

  • 50% số test có T = 1, 102 ≤ a ≤ b ≤ 106;
  • 40% số test có T ≤ 105, 102 ≤ a ≤ b ≤ 106;
  • 10% số test có T ≤ 105, 102 ≤ a ≤ b ≤ 1018.

Trong một buổi ngoại khóa của Câu lạc bộ Tin học, giáo viên tổ chức trò chơi tìm “Hộp quà may mắn”. Các đội chơi sẽ nhận được một xâu S chỉ gồm các ký tự số. Mỗi đội phải tìm được mã số của hộp quà may mắn. Mã số cần tìm là số lượng xâu con trong xâu S tạo thành số đặc biệt. Số đặc biệt là số chia hết cho 97 và có tổng các chữ số chia hết cho 3. Chấp nhận các số có chữ số 0 đứng đầu.

Em hãy viết chương trình tìm ra mã số của hộp quà may mắn.

Yêu cầu: Đưa ra số lượng xâu con trong xâu S tạo thành số đặc biệt là mã số của hộp quà may mắn cần tìm.

Dữ liệu vào: Từ tệp văn bản LUCKY.INP gồm một dòng là xâu ký tự S có độ dài xâu |S| ≤ 105.

Kết quả: Ghi ra tệp văn bản LUCKY.OUT gồm một dòng ghi số lượng xâu con trong xâu S tạo thành số đặc biệt.

Ví dụ:

LUCKY.INPLUCKY.OUTGiải thích
29103Có 3 số đặc biệt là 291, 2910, 0.

Giới hạn:

  • 50% số test ứng với độ dài xâu |S| ≤ 300;
  • 30% số test ứng với độ dài xâu |S| ≤ 103;
  • 20% số test ứng với độ dài xâu |S| ≤ 105.

Thành phố A đang quy hoạch xây dựng đô thị kiểu mẫu với các tiêu chuẩn “xanh, sạch, đẹp, hiện đại”, trong đó có dự án sơn các ngôi nhà liền kề trên cùng một trục đường để có màu sắc giống nhau, với chi phí cho phép là k. Hiện tại mỗi ngôi nhà được sơn với một màu và mỗi màu sơn được biểu diễn bằng một ký tự từ ‘a’ đến ‘z’. Chi phí chuyển đổi màu sơn của ngôi nhà từ màu sơn x sang màu sơn y là khoảng cách từ vị trí ký tự biểu diễn màu sơn x đến vị trí ký tự biểu diễn màu sơn y. Vị trí các ký tự là mã thập phân của nó trong bảng mã ASCII.

Ví dụ: Chi phí chuyển đổi từ màu sơn biểu diễn bằng ký tự ‘a’ sang màu sơn biểu diễn bằng ký tự ‘b’ là |97 − 98| = 1.

Hãy viết chương trình giúp ban quản lý quy hoạch đô thị giải quyết dự án trên.

Yêu cầu: Đưa ra số lượng nhiều nhất các ngôi nhà liền kề cùng màu sơn sau thực hiện dự án, với tổng chi phí chuyển đổi không vượt quá k.

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

  • Dòng đầu tiên ghi số nguyên dương k (k ≤ 105) là chi phí cho phép của dự án;
  • Dòng thứ hai ghi xâu ký tự S có độ dài xâu |S| ≤ 5 × 105 là xâu biểu diễn màu sơn hiện tại của các ngôi nhà.

Kết quả: Ghi ra tệp văn bản PLAN.OUT gồm một dòng duy nhất là kết quả cần tìm.

Ví dụ:

PLAN.INPPLAN.OUTGiải thích
2
babac
4Ta thực hiện biến đổi ký tự ‘b’ → ‘a’ (hoặc ‘a’ → ‘b’) và thu được xâu mới ‘aaaac’ (hoặc ‘bbbbc’). Tổng chi phí biến đổi là 2. Số lượng nhiều nhất các ngôi nhà liền kề cùng màu sơn là 4.
2
afab
2Ta thực hiện biến đổi ký tự ‘b’ → ‘a’ (hoặc ‘a’ → ‘b’) và thu được xâu mới ‘afaa’ (hoặc ‘afbb’). Tổng chi phí biến đổi là 1. Số lượng nhiều nhất các ngôi nhà liền kề cùng màu sơn là 2.

Giới hạn:

  • 60% số test có độ dài xâu |S| ≤ 103;
  • 40% số test có độ dài xâu |S| ≤ 5 × 105.

Bố bạn Hùng là một nhà đầu tư trong một quỹ tài chính. Chiến lược đầu tư của bố bạn là chọn đúng k thời điểm để đầu tư từ chuỗi dữ liệu của thị trường gồm n ngày. Mỗi ngày có một chỉ số thị trường là ai. Bố bạn đã xây dựng một chiến lược phân bổ trọng số w1, w2, …, wk tương ứng với từng lần đầu tư. Hùng mong muốn giúp bố của mình lựa chọn k ngày khác nhau (theo đúng thứ tự thời gian) để đầu tư sao cho tổng lợi nhuận S đạt cao nhất có thể theo công thức: S = w1 × a_i1 + w2 × a_i2 + ⋯ + wk × a_ik. Ngoài ra, bạn ấy cũng muốn biết có bao nhiêu cách chọn ngày để đạt được tổng lợi nhuận lớn nhất đó.

Em hãy viết chương trình giúp bạn Hùng giải quyết mong muốn trên.

Yêu cầu: Tìm tổng lợi nhuận lớn nhất và số cách đầu tư để đạt tổng lợi nhuận lớn nhất.

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

  • Dòng đầu tiên ghi hai số nguyên dương n, k (n ≤ 105, k ≤ 100, k ≤ n);
  • Dòng thứ hai ghi n số nguyên a1, a2, …, an (ai ≤ 109) là chỉ số thị trường mỗi ngày;
  • Dòng thứ ba ghi k số nguyên w1, w2, …, wk (wi ≤ 106) là trọng số đầu tư.

Kết quả: Ghi ra tệp văn bản INVP.OUT gồm hai dòng, dòng thứ nhất ghi tổng lợi nhuận lớn nhất và dòng thứ hai ghi số cách đầu tư để đạt được tổng lợi nhuận lớn nhất đó. Kết quả được chia lấy dư cho 109 + 7 khi in ra.

Ví dụ:

INVP.INPINVP.OUTGiải thích
5 3
2 8 6 3 3
5 2 6
70
2
Có 2 cách chọn các ngày là: ngày thứ 2, 3, 4 hoặc ngày thứ 2, 3, 5 đều cho tổng lợi nhuận là: 5 × 8 + 2 × 6 + 6 × 3 = 70

Giới hạn:

  • 20% số test: 0 < n ≤ 102, k = 1;
  • 40% số test: 0 < n ≤ 103, 0 < k ≤ 100;
  • 40% số test: 0 < n ≤ 105, 0 < k ≤ 100.

--- HẾT ---

(Giám thị coi thi không giải thích gì thêm)