Tải bản đầy đủ (.pdf) (22 trang)

Bộ đề thi chọn đội tuyển HSG quốc gia môn tin năm 2019 và các năm gần đây

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.67 MB, 22 trang )

SỞ GIÁO DỤC VÀ ĐÀO TẠO
SÓC TRĂNG
¯¯¯¯¯¯¯¯¯¯¯
ĐỀ CHÍNH THỨC

THI CHỌN ĐỘI TUYỂN
HỌC SINH GIỎI QUỐC GIA NĂM 2019
¯¯¯¯¯¯¯¯

Môn: TIN HỌC
(Thời gian làm bài 180 phút, không kể phát đề)
Ngày thi: 14/9/2018
¯¯¯¯¯¯¯¯¯¯¯¯
Đề thi này có 02 trang
TỔNG QUAN NGÀY THI THỨ NHẤT

Câu

File chương trình

Tên câu

File dữ liệu vào

File kết quả

1

Chuỗi đối xứng

C1-ChuoiDX.*



ChuoiDX.inp

ChuoiDX.out

2

Tam giác số

C2-TGSo.*

TGSo.inp

TGSo.out

3

Đường đi

C3-DuongDi.*

DuongDi.inp

DuongDi.out

Dấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụng tương ứng là
Pascal hoặc C++. Yêu cầu đặt tên file giống bảng trên.
Hãy lập trình giải các câu hỏi sau:
Câu 1: (6,0 điểm) Chuỗi đối xứng
Một chuỗi được gọi là đối xứng nếu nó có hai ký tự trở lên và đọc từ trái sang phải hay

từ phải sang trái đều giống nhau. Cho một chuỗi S gồm N ký tự (2 ≤ N ≤ 20000).
Nhiệm vụ của bạn là hãy tìm một chuỗi con đối xứng có độ dài lớn nhất trong chuỗi S.
Dữ liệu vào trong tập tin văn bản ChuoiDX.inp:
- Dòng thứ nhất chứa số nguyên N.
- Dòng tiếp theo là chuỗi ký tự S gồm những chữ cái in hoa (A, B, …, Z).
Kết quả xuất ra tập tin văn bản ChuoiDX.out:
- Dòng thứ nhất là độ dài của chuỗi con đối xứng dài nhất.
- Dòng thứ hai là chuỗi con đối xứng dài nhất tìm được.
Ví dụ:

ChuoiDX.inp

ChuoiDX.out

21

15

MIKBACOBEGIGEBOCABHTM

BACOBEGIGEBOCAB

Câu 2: (7,0 điểm) Tam giác số
Cho một tam giác số là một tam giác cân có N dòng (N ≤ 100), mỗi số trong tam giác có
giá trị từ 0 đến 99.
Nhiệm vụ của bạn là hãy tìm đường đi từ đỉnh đến đáy sao cho tổng các số trên đường
đi là lớn nhất, mỗi bước đi chỉ có thể đi xuống về phía trái hoặc đi xuống về phía phải của số
đang chọn.
Dữ liệu vào trong tập tin văn bản TGSo.inp:
- Dòng thứ nhất là một số nguyên N.

- N dòng tiếp theo là các số trong tam giác số, mỗi số cách nhau một khoảng trắng.
1


Kết quả xuất ra tập tin văn bản TGSo.out:
- Dòng đầu là dãy các số của đường đi tìm được, mỗi số cách nhau một khảng trắng.
- Dòng thứ hai là tổng của các số nguyên tố trên đường đi tìm được.
Ví dụ:

Minh họa tam giác số cân
5
7
3 8
8 1 0
2 7 4 4
4 5 7 6 5

TGSo.inp

TGSo.out

5

73877

7

24

38

810
2744
45765

Câu 3: (7,0 điểm) Đường đi
Tại một quốc gia có N thành phố, biết rằng đường đi giữa 2 thành phố bất kỳ (nếu có)
đều là đường đi hai chiều. Sơ đồ mạng lưới giao thông của N thành phố được biểu diễn bởi
bảng A gồm N dòng và N cột (N x N), trong đó: A[i,j] là độ dài đường đi từ thành phố i đến
thành phố j, nếu không có đường đi từ thành phố i đến thành phố j thì A[i,j] = 0, A[i,j] = A[j,i],
A[i,i] = 0 và A[i,j] là số nguyên, không âm.
Nhiệm vụ của bạn là hãy tìm đường đi ngắn nhất giữa hai thành phố p và q nào đó. Nếu
không tồn tại đường đi thì thông báo “Khong có duong di tu p den q”, nếu tồn tại hơn một
đường đi ngắn nhất thì chọn đường đi qua ít thành phố trung gian nhất.
Dữ liệu vào trong tập tin văn bản DuongDi.inp:
- Dòng thứ nhất là số nguyên dương N.
- N dòng tiếp theo, mỗi dòng gồm N số nguyên.
- Dòng cuối cùng gồm 2 số nguyên p và q.
Kết quả xuất ra tập tin văn bản DuongDi.out: đường đi ngắn nhất và lộ trình của đường
đi ngắn nhất đó hoặc thông báo “Khong có duong di tu p den q”.
Ví dụ:

DuongDi.inp

DuongDi.out

6

Duong di ngan nhat tu 1 den 5 dai 18
co lo trinh la 1 -> 6 -> 5


050009
506000
060700
007080
000809
900090
15
--- HẾT ---

Họ tên thí sinh: .................................................... Số báo danh: ....................................................
Chữ ký của Giám thị 1: ....................................... Chữ ký của Giám thị 2: ...................................
2


SỞ GIÁO DỤC VÀ ĐÀO TẠO
SÓC TRĂNG
¯¯¯¯¯¯¯¯¯¯¯
ĐỀ CHÍNH THỨC

THI CHỌN ĐỘI TUYỂN
HỌC SINH GIỎI QUỐC GIA NĂM 2019
¯¯¯¯¯¯¯¯

Môn: TIN HỌC
(Thời gian làm bài 180 phút, không kể phát đề)
Ngày thi: 15/9/2018
¯¯¯¯¯¯¯¯¯¯¯¯
Đề thi này có 02 trang
TỔNG QUAN NGÀY THI THỨ HAI
Câu

Tên câu
File chương trình
File dữ liệu vào
File kết quả
1
Du lịch
C1-DuLich.*
DuLich.inp
DuLich.out
2
Tiếp thị
C2-TiepThi.*
TiepThi.inp
TiepThi.out
3
Vườn rau
C3-VuonRau.*
VuonRau.inp
VuonRau.out
Dấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụng tương ứng là Pascal
hoặc C++. Yêu cầu đặt tên file giống bảng trên.
Hãy lập trình giải các câu hỏi sau:
Câu 1: (6,0 điểm) Du lịch
Trong khu du lịch Minh Khang có M điểm tham quan được đánh số từ 1 đến M. Có M-1 con
đường nối giữa các điểm tham quan với nhau và luôn có đường đi giữa các điểm tham quan bằng các
con đường đó, độ dài mỗi điểm tham quan là 1 đơn vị thời gian. Xuất phát từ cổng khu du lịch là điểm
tham quan thứ nhất, khách du lịch phải đi tất cả các con đường để đến tất cả các điểm tham quan, sau
đó quay lại cổng để ra về vì vậy mất rất nhiều thời gian để đến được tất cả các điểm tham quan. Để tiết
kiệm thời gian tham quan, khu du lịch quyết định mở thêm một con đường tắt kết nối giữa 2 điểm
tham quan nào đó với nhau.

Nhiệm vụ của bạn là hãy giúp khu du lịch Minh Khang mở thêm một con đường tắt và số cách
mở con đường tắt đó sao cho tổng đơn vị thời gian là ít nhất để khách du lịch đến tất cả được các điểm
tham quan.
Dữ liệu vào trong tập tin văn bản DuLich.inp:
- Dòng thứ nhất chứa số nguyên M (2 ≤ M ≤ 105).
- M-1 dòng tiếp theo, mỗi dòng chứa 2 số nguyên D và L (1 ≤ D, L ≤ M) là con đường nối
điểm tham quan D và điểm tham quan L.
Kết quả xuất ra tập tin văn bản DuLich.out:
- Dòng thứ nhất là tổng chi phí thời gian ít nhất.
- Dòng thứ hai là số cách mở thêm một đường tắt.
- Các dòng tiếp theo là liệt kê các cách nối giữa 2 điểm tham quan của một đường tắt.
Ví dụ:
DuLich.inp
DuLich.out
7
9
12
3
24
47
67
75
53
45
61
13
Câu 2: (7,0 điểm) Tiếp thị
Nhân dịp Tết trung thu sắp đến, cơ sở sản xuất bánh trung thu Nguyệt Giang thực hiện chiến
dịch quảng bá sản phẩm đến người tiêu dùng bằng cách tăng cường số nhân viên tiếp thị đến các đại lý
trong thành phố. Trong thành phố có M con đường và N đại lý, mỗi con đường chỉ nối trực tiếp giữa

1


hai đại lý và được ký hiệu bằng chỉ số của 2 đại lý mà nó nối. Đồng thời, giữa hai đại lý bất kỳ có
không quá một con đường nối chúng. Các đại lý trên hành trình theo các yêu cầu là có đường nối trực
tiếp giữa hai đại lý liên tiếp nhau và từ một đại lý bất kỳ có thể đi qua tất cả các đoạn đường trong
hành trình đó rồi trở về nơi xuất phát mà không đi qua đoạn đường nào quá một lần. Mỗi nhân viên chỉ
di chuyển trên hành trình mà được phân công.
Nhiệm vụ của bạn là hãy tính số lượng nhân viên tối đa mà cơ sở sản xuất bánh trung thu
Nguyệt Giang có thể xếp việc.
Dữ liệu vào trong tập tin văn bản TiepThi.inp:
- Dòng thứ nhất là 2 số nguyên N và M (N ≤ 2000, M ≤ 5000).
- Trong M dòng tiếp theo, mỗi dòng ghi 2 số nguyên mô tả một đoạn đường, mỗi đoạn đường
được mô tả bởi chỉ số của hai đại lý mà nó nối.
Kết quả xuất ra tập tin văn bản TiepThi.out: có một số duy nhất là số lượng nhân viên tiếp thị
tối đa tìm được.
Ví dụ:
TiepThi.inp
TiepThi.out
56
2
12
24
45
35
13
23
Câu 3: (7,0 điểm) Vườn rau
Nam được giao nhiệm vụ thu hoạch S kg rau trong khu vườn của gia đình. Vườn rau được chia
thành M x N ô vuông và số lượng rau tại mỗi ô đã biết. Các hàng được đánh số từ 1 đến M từ trên

xuống dưới, các cột được đánh số từ 1 đến N từ trái sang phải. Để tiện cho việc quản lí, Nam phải chọn
ra một khu đất có hình chữ nhật trong vườn rau để thu hoạch.
Nhiệm vụ của bạn hãy giúp Nam tìm ra khu đất có diện tích nhỏ nhất mà Nam thu hoạch có số
lượng rau bằng S kg.
Dữ liệu vào trong tập tin văn bản VuonRau.inp:
- Dòng thứ nhất chứa số M, N, S (1 ≤ M, N ≤ 500, 1 ≤ S ≤ 109).
- Dòng thứ i trong M dòng tiếp theo chứa N số nguyên không âm, trong đó số thứ j cho biết
lượng rau tại ô (i, j). Biết lượng rau tại mỗi ô không vượt quá 104 kg.
Kết quả xuất ra tập tin văn bản VuonRau.out: Nếu không tồn tại vùng nào cho đủ lượng rau
cần thu hoạch, in ra 0. Ngược lại in ra:
- Dòng thứ nhất ghi diện tích nhỏ nhất của vùng rau thu hoạch.
- Dòng tiếp theo ghi bốn số là chỉ số của góc trên trái và góc dưới phải của vùng rau thu hoạch.
Nếu có nhiều vùng cùng thỏa mãn thì in ra tọa độ của một vùng bất kỳ.
Ví dụ:
VuonRau.inp
VuonRau.out
6 5 25
12
11032
3163
11470
00712
11721
23110
01210
--- HẾT --Họ tên thí sinh: ................................................................................ Số báo danh: ....................................
Chữ ký của Giám thị 1: ............................................ Chữ ký của Giám thị 2: ...........................................
2



SỞ GIÁO DỤC VÀ ĐÀO TẠO THI CHỌN ĐỘI TUYỂN HỌC SINH GIỎI QUỐC GIA
SÓC TRĂNG
Năm 2018
¯¯¯¯¯¯¯¯¯¯¯
¯¯¯¯¯¯¯¯
ĐỀ CHÍNH THỨC

Môn: TIN HỌC
(Thời gian làm bài 180 phút, không kể phát đề)
¯¯¯¯¯¯¯¯¯¯¯¯
Ngày thi thứ nhất: 15/9/2017
Đề thi này có 02 trang, gồm 03 câu
TỔNG QUAN NGÀY THI THỨ NHẤT
File chương trình

File dữ liệu vào

Ghép số nguyên dương

C1GhepSo.*

GhepSo.inp

GhepSo.out

2

Trò chơi kéo co

C2KeoCo.*


KeoCo.inp

KeoCo.out

3

Tách chuỗi đối xứng

C3TachCDX.*

TachCDX.inp

TachCDX.out

Câu

Tên câu

1

File kết quả

Dấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụng tương
ứng là Pascal hoặc C++. Yêu cầu đặt tên file giống bảng trên.
Hãy lập trình giải các câu hỏi sau:
Câu 1: (6,0 điểm) Ghép số nguyên dương
Trong giờ ra chơi Bi đố Bo như sau: Có hai số nguyên dương A và B, cần tạo ra số C
bằng cách ghép các chữ số của A và B sao cho thứ tự các chữ số của A và B không thay đổi
trên số C. Bạn hãy giúp Bo xây dựng số C sau đó tìm giá trị nhỏ nhất và lớn nhất của số C.

Dữ liệu: vào từ tập tin văn bản GhepSo.inp: gồm một dòng duy nhất có 2 số nguyên
dương A và B, với 1 ≤ A, B ≤ 108, dữ liệu đảm bảo không có các chữ số 0 vô nghĩa của A và B.
Kết quả: ghi ra tập tin văn bản GhepSo.out: gồm
- Dòng thứ nhất ghi giá trị của số A và số B.
- Dòng thứ hai ghi giá trị nhỏ nhất của số C.
- Dòng thứ ba ghi giá trị lớn nhất của số C.
Ví dụ:
GhepSo.inp
GhepSo.out
28 41

So A = 28 va so B = 41
Gia tri nho nhat cua so C: 2418
Gia tri lon nhat cua so C: 4281

Câu 2: (7,0 điểm) Trò chơi kéo co
Trong buổi sinh hoạt ngoài trời, thầy chủ nhiệm chia học sinh thành hai đội để chơi
kéo co. Bạn hãy giúp thầy tìm cách chia hai đội sao cho công bằng nhất theo cả hai điều
kiện là tổng khối lượng các thành viên trong hai đội có sự chênh lệch là ít nhất và số thành
viên của hai đội chênh lệch nhau không quá 1 người.
Dữ liệu: vào từ tập tin văn bản KeoCo.inp: gồm
- Dòng đầu là một số nguyên dương N (2 ≤ N ≤ 100) là số học sinh trong lớp.
- N dòng tiếp theo cho biết khối lượng của từng học sinh, khối lượng có giá trị trong
khoảng [20..150].
1


Kết quả: ghi ra tập tin văn bản KeoCo.out: hai dòng được sắp xếp không giảm theo
tổng khối lượng mỗi đội, mỗi dòng thể hiện tổng số thành viên và khối lượng của mỗi đội.
Nếu có nhiều cách chia thì in ra 1 cách chia bất kì.

Ví dụ:
KeoCo.inp
KeoCo.out
5
30
70
20
50
40

2 100
3 110

Câu 3: (7,0 điểm) Tách chuỗi đối xứng
Chuỗi đối xứng (palindrome) là chuỗi mà nếu ta đọc từ trái sang phải hay từ phải
sang trái thì đều giống nhau. Ví dụ chuỗi 'xyzyx' là chuỗi đối xứng. Một ký tự duy nhất cũng
được gọi là chuỗi đối xứng.
Một chuỗi S bất kỳ luôn có thể tách được từ các chuỗi đối xứng. Ví dụ chuỗi
‘madambobseesanna’ có một số cách tách như sau:
1) ‘m’ + ‘a’ + ‘d’ + ‘a’ + ‘m’+ ‘b’ + ‘o’ + ‘b’ + ‘s’ + ‘e’ + ‘e’ + ‘s’ + ‘a’ + ‘n’ + ‘n’ + ‘a’
2) ‘madam’ + ‘bob’ + ‘sees’ + ‘anna’
3) ‘madam’ + ‘bob’ + ‘s’ + ‘ee’ + ‘s’ + ‘anna’
4) ‘m’ + ‘ada’ + ‘m’ + ‘b’ + ‘o’ + ‘b’ + ‘sees’ + ‘anna’
Tổng quát S = P1 + P2 +...+ Pk, với P1, P2,... , Pk là các chuỗi đối xứng. Bạn hãy tìm
cách biểu diễn S sao cho k là bé nhất. Trong ví dụ trên k = 4 (cách tách số 2).
Dữ liệu: vào từ tập tin văn bản TachCDX.inp:
- Dòng thứ nhất là số nguyên N (1 ≤ N ≤ 2000) biểu thị chiều dài chuỗi S.
- Dòng thứ hai là chuỗi S gồm N ký tự là các chữ cái la tinh thường từ ‘a’ đến ‘z’.
Kết quả: ghi ra tập tin văn bản TachCDX.out:
- Dòng thứ nhất là số nguyên k.

- Trong k dòng tiếp theo, tại dòng thứ i là chuỗi đối xứng Pi. Nếu có nhiều cách biểu
diễn, chỉ cần in ra một cách bất kỳ.
Ví dụ:
TachCDX.inp
TachCDX.out
16
madambobseesanna

4
madam
bob
sees
anna
--- HẾT ---

Họ tên thí sinh: ................................................Số báo danh: ..................................................
Chữ ký của Giám thị 1: .................................. Chữ ký của Giám thị 2: ..................................

2


SỞ GIÁO DỤC VÀ ĐÀO TẠO
SÓC TRĂNG

THI CHỌN ĐỘI TUYỂN HỌC SINH GIỎI QUỐC GIA

Năm 2018
¯¯¯¯¯¯¯¯

¯¯¯¯¯¯¯¯¯¯¯

ĐỀ CHÍNH THỨC

Môn: TIN HỌC
(Thời gian làm bài 180 phút, không kể phát đề)
¯¯¯¯¯¯¯¯¯¯¯¯
Ngày thi thứ hai: 16/9/2017
Đề thi này có 02 trang, gồm 03 câu
TỔNG QUAN NGÀY THI THỨ HAI
Câu

File chương trình

Tên câu

File dữ liệu vào

File kết quả

1

Mật khẩu an toàn

C1MatKhau.*

MatKhau.inp

MatKhau.out

2


Phân tích số nguyên tố

C2PhanTich.*

PhanTich.inp

PhanTich.out

3

Hệ thống dây điện

C3DayDien.*

DayDien.inp

DayDien.out

Dấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụng tương
ứng là Pascal hoặc C++. Yêu cầu đặt tên file giống bảng trên.
Hãy lập trình giải các câu hỏi sau:
Câu 1: (6,0 điểm) Mật khẩu an toàn
Một xâu ký tự được gọi là mật khẩu an toàn nếu xâu có độ dài ít nhất bằng 8 và xâu
chứa ít nhất một chữ cái in hoa (‘A’..’Z’), một chữ cái thường (‘a’..’z’), một chữ số
(‘0’..’9’).
Ví dụ: ‘a1B2C3’, ‘tinHoc6’ là hai mật khẩu an toàn, còn ‘a1B2C’, ‘a1b2c3’, ‘tinHoc’
đều không phải là mật khẩu an toàn.
Một lần, Thanh nhìn thấy một sâu S, chỉ gồm các loại kí tự: Chữ cái in hoa, chữ cái
thường và chữ số. Thanh muốn tự kiểm tra khả năng đoán nhận mật khẩu bằng cách đếm
xem có bao nhiêu cặp chỉ số (i, j) thỏa mãn điều kiện: 1 ≤ i < j ≤ length(S) và xâu con gồm

các ký tự liên tiếp từ i đến j của S là mật khẩu an toàn.
Yêu cầu: Cho xâu S, tính số lượng cặp chỉ số (i, j) thỏa mãn điều kiện nêu trên.
Dữ liệu: vào từ tập tin văn bản MatKhau.inp: gồm một dòng chứa xâu S có độ dài
không quá 106.
Kết quả: ghi ra tập tin văn bản MatKhau.out: một số nguyên là số lượng cặp chỉ số
(i, j) tính được.
Ví dụ:

MatKhau.inp
abc23456PQX

MatKhau.out

MatKhau.inp MatKhau.out

8

abc123

0

1


Câu 2: (7,0 điểm) Phân tích số nguyên tố
Nhập một số nguyên N (4 < N < 20000). Chọn nhiều nhất M số nguyên tố khác nhau
sao cho tổng của M số nguyên tố này nhỏ hơn hoặc bằng N. Hãy cho biết có bao nhiêu cách
chọn như trên?
Ví dụ: Với N = 15, ta có nhiều nhất 3 số nguyên tố có tổng nhỏ hơn hoặc bằng 15 và
có 4 cách chọn như vậy.

2 + 3 +5 ≤ 15
2 + 3 + 7 ≤ 15
2 + 5 + 7 ≤ 15
3 + 5 + 7 ≤ 15
Dữ liệu: vào từ tập tin văn bản PhanTich.inp: số nguyên N.
Kết quả: ghi ra tập tin văn bản PhanTich.out: số cách chọn.
Ví dụ:

PhanTich.inp
15

PhanTich.out
4

Câu 3: (7,0 điểm) Hệ thống dây điện
Một công ty cần thay toàn bộ hệ thống dây điện cho N phòng làm việc. Cho biết sơ
đồ mạng lưới điện hiện có của N căn phòng này được biểu diễn bằng ma trận A[i, j] trong
đó A[i, j] chính là độ dài của dây điện nối liền giữa hai phòng i, j (A[i, j] = A[j, i], A[i, j] = 0
nếu không có dây nối giữa phòng i và phòng j). Hãy lập trình tính độ dài của dây dẫn cần sử
dụng sao cho cả N phòng đều có điện và số lượng này là ít nhất.
Dữ liệu: vào từ tập tin văn bản DayDien.inp: gồm N + 1 dòng
- Dòng đầu ghi số N
- Dòng i + 1 (1 ≤ i ≤ N) ghi N số A[i, 1] A[i, 2]…A[i, N]
Các số ghi trên cùng một dòng cách nhau ít nhất một dấu cách
Kết quả: ghi ra tập tin văn bản DayDien.out: độ dài dây điện ít nhất.
Ví dụ:

DayDien.inp

DayDien.out


DayDien.inp DayDien.out

4

34=1

4

0342

14=2

0340

3032

24=2

3030

4301

Tong do dai: 5

4300

2210

khong thuc

hien duoc

0000
--- HẾT ---

Họ tên thí sinh: ................................................Số báo danh: ..................................................
Chữ ký của Giám thị 1: .................................. Chữ ký của Giám thị 2: ..................................
2


SỞ GIÁO DỤC VÀ ĐÀO TẠO
TỈNH SÓC TRĂNG

KỲ THI CHỌN ĐỘI TUYỂN HỌC SINH GIỎI QUỐC GIA

Năm học: 2016-2017

ĐỀ CHÍNH THỨC

Môn: TIN HỌC - Lớp 12
(Thời gian làm bài 180 phút, không kể phát đề)
Ngày thi: 05/11/2016
¯¯¯¯¯¯¯¯¯¯¯¯
Đề thi này có 02 trang
TỔNG QUAN BÀI THI
Câu
1
2
3


Tên câu

File chương trình

Tiền mỗi loại
C1TienML.*
Ngày sinh nhật C2NgaySN.*
Vận động
C3VanDong.*

File dữ liệu vào
TienML.inp
NgaySN.inp
VanDong.inp

File kết quả
TienML.out
NgaySN.out
VanDong.out

Dấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụng
tương ứng là Pascal hoặc C++. Yêu cầu đặt tên file giống bảng trên.
Hãy lập trình giải các câu hỏi sau:
Câu 1: (6,0 điểm) Tiền mỗi loại
Một ngân hàng có N loại tiền mệnh giá A[1], A[2], A[3],…,A[N] với số
lượng tiền mỗi loại không giới hạn. Cần chi trả cho khách hàng một số tiền là M
đồng. Hãy cho biết cần bao nhiêu tiền mỗi loại để trả sao cho số lượng tờ là ít nhất.
Dữ liệu vào từ tập tin văn bản TienML.inp gồm:
- Dòng 1: Ghi 2 số N và M
- Dòng 2: Ghi N số nguyên dương A[1] A[2] … A[N], dữ liệu cho là các số

nguyên dương.
Kết quả ghi ra tập tin văn bản TienML.out gồm:
- Dòng 1: Ghi số lượng tờ phải trả
- Dòng 2: Ghi N số nguyên không âm ứng với số tờ cần trả cho mỗi loại tiền.
Các số ghi trên cùng một dòng ghi cách nhau ít nhất một dấu cách
TienML.inp
TienML.out
Ví dụ:
5 10000
1 5 10 50 100

100
0 0 0 0 100

Câu 2: (7,0 điểm) Ngày sinh nhật
Trong ngày sinh nhật, hai anh em Tùng và Bách nhận được N đồ chơi. Trên
đồ chơi i có ghi giá tiền Xi. Hai anh em quyết định mỗi người phải có trách nhiệm
bảo quản một phần số quà và phân chia sao cho chênh lệch tổng giá trị tiền đồ chơi
mà mỗi người bảo quản là ít nhất. Hãy giúp Tùng và Bách phân chia trách nhiệm.

1


Dữ liệu vào từ tập tin văn bản NgaySN.inp gồm:
- Dòng 1: Số nguyên dương N
- Dòng 2: N số nguyên dương X1, X2,…Xn
Kết quả ghi ra tập tin văn bản NgaySN.out gồm:
Mỗi dòng ghi các số tương ứng với các đồ chơi của một người và cuối mỗi
dòng là tổng giá trị các đồ chơi tương ứng.
Ví dụ:

NgaySN.inp
NgaySN.out
8
8 37 12 8 46 12 88 37

7 8 125
1 2 3 4 5 6 123

Câu 3: (7,0 điểm) Vận động
Trường trung học phổ thông XYZ tổ chức trò chơi vận động cho học sinh
của ba lớp gồm một lớp 10 với mã L10, một lớp 11 với mã L11, một lớp 12 với mã
L12 và có ba phòng học P1, P2, P3 được bố trí trên một tuyến đường thẳng và theo
thứ tự. Hiện tại trong mỗi phòng đều có thể có học sinh của cả ba lớp. Ban tổ chức
đề nghị tất cả các học sinh trong cùng một phòng tự bàn bạc thảo luận với nhau để
thực hiện nhiệm vụ là di chuyển về các phòng sao cho mỗi phòng chỉ có các học
sinh cùng một lớp và năng lượng chi phí cho việc di chuyển là ít nhất.
Dữ liệu vào từ tập tin văn bản VanDong.inp gồm:
- Dòng 1: hai số nguyên dương biểu thị khoảng cách giữa phòng P1 với
phòng P2 và phòng P1 với phòng P3;
- Dòng 2: ba số nguyên dương c10, c11, c12 cho biết chi phí năng lượng
tương ứng của mỗi học sinh L10, L11, L12 để di chuyển một đơn vị khoảng cách;
- Dòng 3: ba số nguyên không âm cho biết số lượng học sinh của mỗi lớp
L10, L11, L12 trong phòng P1;
- Dòng 4: ba số nguyên không âm cho biết số lượng học sinh của mỗi lớp
L10, L11, L12 trong phòng P2;
- Dòng 5: ba số nguyên không âm cho biết số lượng học sinh của mỗi lớp
L10, L11, L12 trong phòng P3.
Kết quả ghi ra tập tin văn bản VanDong.out gồm:
- Dòng 1: một hoán vị của ba mã L10, L11, L12 cho biết phương án tối ưu
bố trí các học sinh vào các phòng;

- Dòng 2: tổng chi phí năng lượng tối thiểu cho các học sinh di chuyển.
Dữ liệu trên cùng dòng cách nhau qua dấu cách.
Ví dụ:
VanDong.inp
VanDong.out
26
L11-L12-L10
426
320
432
147
526
--- HẾT --2


SỞ GIÁO DỤC VÀ ĐÀO TẠO
SÓC TRĂNG
¯¯¯¯¯¯¯¯¯¯¯
ĐỀ CHÍNH THỨC

KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH
Năm học 2016-2017
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Môn: TIN HỌC - Lớp 12
(Thời gian làm bài 180 phút, không kể phát đề)
Ngày thi: 17/9/2016
¯¯¯¯¯¯¯¯¯¯¯¯
Đề thi này có 02 trang
TỔNG QUAN NGÀY THI THỨ NHẤT

Câu

Tên câu

File chương trình

File dữ liệu vào

1

File kết quả

Tổng ma trận

TongMT.*

TongMT.inp

TongMT.out

2

Xâu kí tự

XauKiTu.*

XauKiTu.inp

XauKiTu.out


3

Băng nhạc

BangNhac.*

BangNhac.inp

BangNhac.out

Dấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử
dụng tương ứng là Pascal hoặc C++. Yêu cầu đặt tên file giống bảng trên.
Hãy lập trình giải các câu hỏi sau:
Câu 1: (6,0 điểm) Tổng ma trận
Một ma trận A cấp m x n các số nguyên (mỗi số hạng trên cùng một hàng
được cách nhau bằng dấu cách). Tính tổng các số hạng trên mỗi hàng của ma
trận?
Dữ liệu vào trong tập tin văn bản TongMT.inp
- Dòng đầu tiên chứa hai số m và n tương ứng với số hàng và số cột của ma trận.
- m hàng tiếp theo là số hạng các hàng của ma trận
Kết quả xuất ra tập tin văn bản TongMT.out
Gồm m hàng, số cuối cùng của mỗi hàng là giá trị tổng các số hạng của
hàng đó.
Ví dụ:

TongMT.inp

34
1357
2468

0326

TongMT.out

1 3 5 7 16
2 4 6 8 20
0 3 2 6 11

1


Câu 2: (7,0 điểm) Xâu kí tự
Xâu kí tự bao gồm cả các chữ số được lưu trong tập tin văn bản
XauKiTu.inp. Sắp xếp lại các số nằm xen kẽ trong xâu theo thứ tự từ nhỏ đến
lớn nhưng vị trí của các kí tự khác số vẫn giữ nguyên. Kết quả được ghi trong
tập tin văn bản XauKiTu.out.
Chú ý: Khi sắp xếp nếu gặp số bắt đầu bằng chữ số 0 thì cắt bỏ các chữ số
0 vô nghĩa đó (ví dụ số 021 thì sau khi sắp xếp chỉ viết lại thành số 21).
Ví dụ:

XauKiTu.inp

XauKiTu.out

xyz25av4ghit012m58no

xyz4av12ghit25m58no

Câu 3: (7,0 điểm) Băng nhạc
Một máy phát nhạc tự động có một băng nhạc đủ lớn để ghi N bài hát,

thời gian phát mỗi bài hát tính theo phút và được biết trước. Biết rằng, để phát
bài thứ i thì máy phải trở về vị trí đầu băng và phải quay để bỏ qua i – 1 bài
trước đó. Máy có thể trở về vị trí đầu băng với thời gian không đáng kể và thời
gian quay băng để bỏ qua mỗi bài và thời gian phát bài đó là bằng nhau.
Hãy tìm cách ghi các bài hát trên băng nhạc sao cho tổng số thời gian
quay băng trong ngày là nhỏ nhất. Biết rằng, mỗi bài hát được phát một lần.
Chẳng hạn: Băng nhạc có 3 bài hát có thứ tự là 1, 2, 3 với thời gian phát
mỗi bài lần lượt là 3, 2 và 6 phút. Nếu ta ghi băng nhạc theo các thứ tự khác
nhau thì tổng thời gian phát cả băng nhạc là khác nhau, cụ thể là:
Thứ tự bài hát

Thời gian phát mỗi bài

Tổng thời gian phát

123

326

3 + (3 + 2) + (3 + 2+ 6) = 19

Dữ liệu vào trong tập tin văn bản BangNhac.inp:
- Dòng thứ nhất chứa số N (N ≤ 100)
- Các dòng tiếp theo chứa các số nguyên t1, t2,…,tN lần lượt là thời gian
phát của các bài hát 1, 2,..., N. Các số cách nhau ít nhất một dấu cách.
Kết quả xuất ra tập tin văn bản BangNhac.out:
- Dòng thứ nhất ghi số Tmin là tổng thời gian tìm và phát cả băng nhạc.
- Các dòng tiếp theo chứa N số là thứ tự của các bài hát ghi trên băng
nhạc theo thời gian Tmin, các số cách nhau ít nhất một dấu cách.
Ví dụ:


BangNhac.inp
3
326

BangNhac.out
18
213

--- HẾT --2


SỞ GIÁO DỤC VÀ ĐÀO TẠO
SÓC TRĂNG
¯¯¯¯¯¯¯¯¯¯¯
ĐỀ CHÍNH THỨC

KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH
Năm học 2016-2017
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Môn: TIN HỌC - Lớp 12
(Thời gian làm bài 180 phút, không kể phát đề)
Ngày thi: 18/9/2016
¯¯¯¯¯¯¯¯¯¯¯¯
Đề thi này có 02 trang
TỔNG QUAN NGÀY THI THỨ HAI
Câu

Tên câu


File chương trình

File dữ liệu vào

File kết quả

1

Tổng số nguyên tố

TongSNT.*

TongSNT.inp

TongSNT.out

2

Tách biểu thức

TachBT.*

TachBT.inp

TachBT.out

3

Cái túi


CaiTui.*

CaiTui.inp

CaiTui.out

Dấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụng
tương ứng là Pascal hoặc C++. Yêu cầu đặt tên file giống bảng trên.
Hãy lập trình giải các câu hỏi sau:
Câu 1: (6,0 điểm) Tổng số nguyên tố
Cho một dãy gồm N số nguyên không âm a1, a2, …, aN. Hãy tìm tất cả các số
nguyên tố và sắp xếp theo thứ tự tăng dần của các số tìm được, sau đó tính tổng của
các số nguyên tố đó. Nếu không tìm được thì thông báo 0.
Dữ liệu vào trong tập tin văn bản TongSNT.inp:
- Dòng đầu tiên ghi số nguyên N, trong đó 1  N 104.
- Trong N dòng tiếp theo, dòng thứ i chứa số ai (ai  104).
Kết quả xuất ra tập tin văn bản TongSNT.out:
- Dòng đầu tiên chứa các số tìm được.
- Dòng thứ hai chứa tổng của các số tìm được.
Ví dụ:

TongSNT.inp
9
1
14
8
15
7
19

2
16
5

TongSNT.out
Day cac so nguyen to tim duoc: 2 5 7 19
Tong cua day so tim duoc = 33

1


Câu 2: (7,0 điểm) Tách biểu thức
Trong biểu thức toán học, một cụm là đoạn nằm giữa hai dấu mở và đóng
ngoặc đơn (). Với mỗi biểu thức toán học cho trước hãy tách các cụm của biểu thức.
Dữ liệu vào trong tập tin văn bản TachBT.inp: chứa một dòng kiểu xâu kí tự là
biểu thức cần xử lí.
Kết quả xuất ra tập tin văn bản TachBT.out:
- Dòng đầu tiên ghi số lượng cụm được tách t.
- Tiếp đến là t dòng, mỗi dòng ghi một cụm được tách từ biểu thức.
Ví dụ:

TachBT.inp
x*(a+1)*((b-2)/(c+3))

TachBT.out
So luong cum duoc tach: 4
(a+1)
(b-2)
(c+3)
((b-2)/(c+3))


Câu 3: (7,0 điểm) Cái túi
Có N vật, với mỗi vật ta biết trọng lượng và giá trị của nó. Hãy xác định trọng
lượng cần lấy ở một số vật để xếp vào một cái túi có sức chứa tối đa là M sao cho giá
trị chứa trong cái túi là lớn nhất. Giả thiết là chỉ lấy những vật mà túi chứa được.
Dữ liệu vào trong tập tin văn bản CaiTui.inp:
- Dòng đầu tiên: hai giá trị nguyên dương N và M.
- N dòng tiếp theo, mỗi dòng chứa hai giá trị nguyên dương w và v, trong đó w
là trọng lượng của mỗi vật, v là giá trị trên mỗi đơn vị trọng lượng của vật đó. Các số
cách nhau qua dấu cách.
Kết quả xuất ra tập tin văn bản CaiTui.out:
- N dòng, dòng thứ i cho biết trọng lượng lấy của vật thứ i.
- Dòng tiếp theo ghi tổng trọng lượng đã lấy.
- Dòng cuối cùng ghi tổng giá trị thu được.
Ví dụ:

CaiTui.inp
5 30
85
54
42
38
16 6

CaiTui.out
Danh sach cac vat co trong luong duoc lay:
Vat thu 1 = 8
Vat thu 2 = 0
Vat thu 3 = 0
Vat thu 4 = 3

Vat thu 5 = 16
Tong trong luong da lay: 27
Tong gia tri lon nhat: 160
--- HẾT --2


SỞ GIÁO DỤC VÀ ĐÀO TẠO
SÓC TRĂNG

KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH
Năm học 2013-2014

Đề chính thức

Môn: Tin học - Lớp 12
(Thời gian làm bài 180 phút, không kể phát đề)
Ngày thi: 21/9/2013
________________
Đề thi này có 02 trang
TỔNG QUAN NGÀY THI THỨ NHẤT
Tên câu

File dữ liệu vào

File chương trình

File kết quả

Câu 1


Sửa xâu

SuaXau.*

SuaXau.inp

SuaXau.out

Câu 2

Giao hình chữ nhật

GiaoHCN.*

GiaoHCN.inp

GiaoHCN.out

Câu 3

Đặt Đại lý

DatDL.*

DatDL.inp

DatDL.out

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

Hãy lập trình giải các câu hỏi sau:
Câu 1: (6,0 điểm) Sửa xâu
Cho xâu S độ dài không quá 105, hãy viết chương trình để sửa xâu S theo yêu
cầu là nếu tính từ trái sang phải gặp:
- Ký tự # là dấu hiệu xoá đi một ký tự đứng ngay trước nó nếu có.
- Ký tự @ là dấu hiệu xoá đi một ký tự đứng ngay trước nó nếu có.
Dữ liệu vào từ tập tin văn bản SuaXau.inp:
- Dòng thứ nhất ghi số n (1≤ n ≤ 50).
- Mỗi dòng trong n dòng chứa một xâu S cần sửa.
Kết quả xuất ra tập tin văn bản SuaXau.out gồm n dòng xâu đã sửa theo yêu
cầu, dòng i tương ứng với kết quả thứ i của xâu S tương ứng và số ký tự # và @ đã
xóa.
Ví dụ:
SuaXau.inp
3
Xe@in chh#ao chung##@@ac bon##an
Ta#oi ths@i hopp@@c sinua#h###nh gia@oi tin hoj#c
Nn#gay thiab## 2223###1/9/2014#3

SuaXau.out
Xin chao cac ban
Toi thi hoc sinh gioi tin hoc
Ngay thi 21/9/2013
So ky tu # da xoa la: 18
So ky tu @ da xoa la: 7

Câu 2: (7,0 điểm) Giao hình chữ nhật
Cho k hình chữ nhật (2 < k < 100) có các cạnh song song với hai trục tọa độ
và tọa độ các đỉnh đều là các số nguyên. Các hình chữ nhật được đánh số từ 1 đến k.
Hãy tìm hai hình chữ nhật mà phần giao nhau của chúng có diện tích lớn nhất.



Dữ liệu vào từ tập tin văn bản GiaoHCN.inp:
- Dòng đầu chứa số k.
- Dòng thứ i trong k dòng tiếp theo mô tả hình chữ nhật thứ i, chứa 4 số
nguyên x1, y1, x2, y2 ứng với các hoành độ và tung độ của các hình chữ nhật.
Kết quả xuất ra tập tin văn bản GiaoHCN.out:
- Dòng đầu cho biết chỉ số của 2 hình chữ nhật tìm được.
- Dòng thứ 2 cho biết diện tích của hình chữ nhật tìm được.
Ví dụ:
GiaoHCN.inp
4
2288
-4 -3 8 8
3456
1133

GiaoHCN.out
Giao cua hinh chu nhat thu 1 va thu 2
Dien tich cua hinh chu nhat = 36

Câu 3: (7,0 điểm) Đặt Đại lý
Một công ty ABC phân phối sản phẩm cho các khách hàng ở n huyện (3 ≤ n ≤
35) đánh số từ 1 đến n. Có m đoạn đường, mỗi đoạn nối hai huyện nào đó lại với
nhau. Công ty muốn mở các đại lý ở một số huyện này sao cho mỗi huyện hoặc là có
đại lý đặt tại nó hoặc có đại lý đặt ở huyện có đoạn đường nối trực tiếp với nó. Hãy
xác định xem công ty cần mở ít nhất bao nhiêu đại lý để đáp ứng điều kiện trên.
Dữ liệu vào từ tập tin văn bản DatDL.inp:
- Dòng đầu tiên chứa 2 số n, m cách nhau bởi dấu cách,
- Mỗi dòng trong số m dòng tiếp theo chứa 2 số nguyên là các chỉ số của các

đầu mút của một trong số m đoạn đường.
Kết quả xuất ra tập tin văn bản DatDL.out chứa số lượng đại lý cần mở.
Ví dụ:
DatDL.inp
DatDL.out
11 10
4
12
23
34
45
5 11
67
78
89
9 10
10 11
--- HẾT --Họ tên thí sinh: ............................................................Số báo danh: .............................
Chữ ký của Giám thị 1: ...............................Chữ ký của Giám thị 2:.............................


SỞ GIÁO DỤC VÀ ĐÀO TẠO
SÓC TRĂNG

KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH
Năm học 2013-2014

Đề chính thức

Môn: Tin học - Lớp 12

(Thời gian làm bài 180 phút, không kể phát đề)
Ngày thi: 22/9/2013
________________
Đề thi này có 02 trang
TỔNG QUAN NGÀY THI THỨ HAI
Tên câu

File chương trình

File dữ liệu vào

File kết quả

Câu 1

Điểm trong

DiemTrong.*

DiemTrong.inp

DiemTrong.out

Câu 2

Xâu dài

XauDai.*

XauDai.inp


XauDai.out

Câu 3

Tìm mật khẩu

TimPass.*

TimPass.inp

TimPass.out

Dấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụng
tương ứng là Pascal hoặc C++.
Hãy lập trình giải các câu hỏi sau:
Câu 1: (6,0 điểm) Điểm trong
Cho một số tự nhiên n và mảng số thực A kích thước 4 x n chứa dữ liệu về n
hình chữ nhật: (a[1,i], a[2,i]) và (a[3,i], a[4,i]) là toạ độ góc trái trên và góc phải dưới
của hình chữ nhật thứ i. Hỏi có điểm nào trong mặt phẳng toạ độ thuộc tất cả các
hình chữ nhật đã cho không? Hãy lập trình để giải bài toán đó.
Dữ liệu vào từ tập tin văn bản DiemTrong.inp:
- Dòng đầu tiên ghi số n (n ≤ 50).
- Dòng thứ i trong n dòng tiếp theo, mỗi dòng gồm 4 số là các toạ độ a[1,i],
a[2,i], a[3,i], a[4,i] tương ứng, các số được viết phân cách với nhau bởi dấu cách.
Kết quả xuất ra tập tin văn bản DiemTrong.out:
- Tất cả các toạ độ đã cho trong tập tin DiemTrong.inp
- Ghi giá trị điểm tìm được hoặc thông báo không có điểm nào thuộc tất cả
hình chữ nhật.
Ví dụ:

DiemTrong.inp
DiemTrong.out
3
3.0 1.0 6.0 4.0
3164
1.0 2.0 4.0 6.0
1246
2.0 3.0 5.0 5.0
2355
Co diem thuoc tat ca hinh chu nhat 3.0 3.0 4.0 4.0
2
1.0 1.0 2.0 2.0
1122
5.0 5.0 6.0 6.0
5566
Khong co diem nao thuoc tat ca hinh chu nhat


Câu 2: (7,0 điểm) Xâu dài
Cho một văn bản gồm n dòng (n ≤ 100), xác định dòng có nhiều ký tự nhất
trong một tập tin văn bản.
Dữ liệu vào từ tập tin văn bản XauDai.inp:
- Dòng đầu tiên ghi số n.
- Dòng thứ i trong n dòng ghi các dòng văn bản.
Kết quả xuất ra tập tin văn bản XauDai.out:
- Nội dung dòng văn bản dài nhất tìm được.
- Số lượng ký tự, ký tự khác khoảng trắng của dòng văn bản dài nhất tìm được.
- Số từ của dòng văn bản dài nhất tìm được.
Ví dụ:
XauDai.inp

XauDai.out
4
Dong van ban dai nhat tim duoc la
Xin chao.
Thi hoc sinh gioi lop 12
Toi
Dong tim duoc co tat ca la 24 ky tu
Thi hoc sinh gioi lop 12
So ky tu khac khoang trang la 19
Nam 2013
Dong tim duoc co tat ca 6 tu
Câu 3: (7,0 điểm) Tìm mật khẩu
Ngày nay để bảo vệ máy tính không bị người khác thâm nhập vào là một vấn
đề đặt ra cho những người sử dụng máy tính. Để tăng tính an toàn trong lưu trữ thông
tin, một số người đã quyết định dấu mật khẩu truy cập máy tính của mình vào một
xâu S với một quy ước sao cho khi cần người ta có thể lấy lại được mật khẩu từ xâu
S như sau: sử dụng mật khẩu P là một số nguyên tố và đem dấu vào một xâu ký tự S
sao cho P chính là số nguyên tố có giá trị lớn nhất trong số các số nguyên tố tạo được
từ các xâu con của S (xâu con của một xâu ký tự S là một chuỗi liên tiếp các ký tự
trong S).
Cho một xâu ký tự S chiều dài không quá 250 ký tự. Tìm mật khẩu P đã dấu
trong xâu S biết P có giá trị nhỏ hơn 10 5. Dữ liệu cho đảm bảo S chứa ít nhất 1 số
nguyên tố.
Dữ liệu vào từ tập tin văn bản TimPass.inp gồm 1 dòng duy nhất là xâu S.
Kết quả xuất ra tập tin văn bản TimPass.out gồm
- Dòng 1 là các số được phân tích ra từ xâu S.
- Dòng 2 là các số nguyên tố.
- Dòng 3 là số P cần tìm tức là số nguyên tố lớn nhất
Ví dụ:
TimPass.inp

MatKhauTest324#6234word751

TimPass.out
Cac xau con la: 3 32 324 2 24 4 6 62 623 6234 2 23
234 3 34 4 7 75 751 5 51 1
Cac so nguyen to la: 3 2 2 23 3 7 751 5
Ket qua la: 751

--- HẾT --Họ tên thí sinh: ............................................................Số báo danh: .............................
Chữ ký của Giám thị 1: ...............................Chữ ký của Giám thị 2:.............................


SỞ GIÁO DỤC VÀ ĐÀO TẠO
SÓC TRĂNG

KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH
Năm học 2015-2016

Đề chính thức

Môn: Tin học - Lớp 12
(Thời gian làm bài 180 phút, không kể phát đề)
Ngày thi: 26/9/2015
________________
Đề thi này có 02 trang
TỔNG QUAN NGÀY THI THỨ NHẤT
Tên câu

File chương trình


File dữ liệu vào

File kết quả

Câu 1 Tổng bình phương

TongBP.*

TongBP.inp

TongBP.out

Câu 2 Phân tích số

PhanTichSo.*

PhanTichSo.inp

PhanTichSo.out

Câu 3 Tổng hàng lớn nhất

TongHangMax.*

TongHangMax.inp TongHangMax.out

Dấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụng tương ứng
là Pascal hoặc C++. Lưu ý: Yêu cầu đặt tên file giống bảng trên.
Hãy lập trình giải các câu hỏi sau:


Câu 1: (6,0 điểm) Tổng bình phương
Cho số nguyên dương N (N ≤ 100) và một dãy các số nguyên A1, A2, …, AN.
Viết chương trình tính tổng bình phương của các số âm chẵn trong dãy trên.
Dữ liệu vào trong tập tin văn bản TongBP.inp
- Dòng 1: chứa số N (N ≤ 100).
- Dòng 2: chứa dãy số A1, A2, …, AN.
Kết quả xuất ra tập tin văn bản TongBP.out
- Dòng 1: chứa dãy số âm chẵn tìm được sắp xếp giảm dần.
- Dòng 2: chứa kết quả là tổng bình phương các số âm chẵn tìm được.
Ví dụ:
TongBP.inp

TongBP.out

6

Day so am tim duoc: -2 -6

1 -3 4 5 -6 -2

Tong binh phuong cac so am tim duoc = 40

Câu 2: (7,0 điểm) Phân tích số
Cho một số nguyên dương N (N ≤ 30). Hãy tìm tất cả các cách phân tích số N
thành tổng các số nguyên dương, các cách phân tích là hoán vị của nhau chỉ tính là 1
cách.
Dữ liệu vào trong tập tin văn bản PhanTichSo.inp chứa số nguyên dương N
(N ≤ 30).
Kết quả xuất ra tập tin văn bản PhanTichSo.out chứa các cách phân tích số N.



Ví dụ:
PhanTichSo.inp
6

PhanTichSo.out
So phan tich co dang:
6 = 1+1+1+1+1+1
6 = 1+1+1+1+2
6 = 1+1+1+3
6 = 1+1+2+2
6 = 1+1+4
6 = 1+2+3
6 = 1+5
6 = 2+2+2
6 = 2+4
6 = 3+3
So cach phan tich: 10

Câu 3: (7,0 điểm) Tổng hàng lớn nhất
Cho một ma trận M x N số nguyên (M, N ≤ 200). Hãy tính tổng lớn nhất trong
các hàng ma trận đó và đưa ra chỉ số các hàng đạt giá trị tổng lớn nhất đó.
Dữ liệu vào trong tập tin văn bản TongHangMax.inp
- Dòng 1: chứa 2 số nguyên M, N cách nhau bởi khoảng trắng.
- M dòng tiếp theo chứa M hàng ma trận gồm N số nguyên, cách nhau bởi một
khoảng trắng.
Kết quả xuất ra tập tin văn bản TongHangMax.out
- Dòng 1: chứa giá trị lớn nhất của tổng các phần tử trên cùng một hàng.
- Dòng thứ hai trở đi chứa chỉ số các hàng đạt giá trị tổng lớn nhất đó.
Ví dụ:

TongHangMax.inp
65

TongHangMax.out
Tong lon nhat: 34

7 5 6 10 6

Hang thu: 1

9 6 8 -12 2

Hang thu: 4

-88 9 4 50 1

Hang thu: 6

88891
7 5 2 1 -30
10 12 3 1 8
--- HẾT --Họ tên thí sinh: ................................................................Số báo danh: ................................
Chữ ký của Giám thị 1: ..................................Chữ ký của Giám thị 2:.................................


SỞ GIÁO DỤC VÀ ĐÀO TẠO
SÓC TRĂNG

KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH
Năm học 2015-2016


Đề chính thức

Môn: Tin học - Lớp 12
(Thời gian làm bài 180 phút, không kể phát đề)
Ngày thi: 27/9/2015
________________
Đề thi này có 02 trang
TỔNG QUAN NGÀY THI THỨ HAI
Tên câu

File chương trình

File dữ liệu vào

File kết quả

Câu 1 Đoạn không giảm

DoanMax.*

DoanMax.inp

DoanMax.out

Câu 2 Tổng hàng lẻ

TongHangLe.*

TongHangLe.inp


TongHangLe.out

Câu 3 Dãy con K

DayConK.*

DayConK.inp

DayConK.out

Dấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụng tương ứng
là Pascal hoặc C++. Lưu ý: Yêu cầu đặt tên file giống bảng trên.
Hãy lập trình giải các câu hỏi sau:
Câu 1: (6,0 điểm) Đoạn không giảm
Cho dãy gồm N số nguyên (1  N  20000). Tìm đoạn không giảm có chiều dài lớn
nhất. (đoạn không giảm phải chứa các phần tử liên tục)
Dữ liệu vào trong tập tin văn bản DoanMax.inp
- Dòng 1: số nguyên N (1  N  20000).
- Dòng thứ 2: các phần tử của dãy, các phần tử này cách nhau bằng khoảng trắng.
Kết quả xuất ra tập tin văn bản DoanMax.out
- Dòng 1: chứa chỉ số bắt đầu đoạn.
- Dòng 2: chứa số phần tử trong đoạn (chiều dài đoạn).
Ví dụ :
DoanMax.inp
12
7 5 15 1 3 3 3 5 7 9 5 2

DoanMax.out
Vi tri bat dau cua doan: 4

So phan tu trong doan: 7

Câu 2: (7,0 điểm) Tổng hàng lẻ
Cho một ma trận M x N số nguyên (M, N ≤ 200). Hãy tính tổng số lẻ của từng hàng
ma trận, sau đó sắp xếp giảm dần theo các giá trị tổng đó.
Dữ liệu vào trong tập tin văn bản TongHangLe.inp
- Dòng 1: chứa 2 số nguyên M, N cách nhau bởi khoảng trắng.
- M dòng tiếp theo chứa M hàng ma trận gồm N số nguyên, các số cách nhau bằng
khoảng trắng.
Kết quả xuất ra tập tin văn bản TongHangLe.out
- Dòng 1: chứa số nguyên M.


- M dòng tiếp theo chứa M tổng các số lẻ của M hàng.
- Dòng cuối cùng chứa tổng M số được sắp xếp giảm dần của tổng M hàng, các số
cách nhau bằng khoảng trắng.
Ví dụ:
TongHangLe.inp
54
3 2 -1 5
5 7 -8 10
-4 -3 1 3
2 -4 -1 7
-5 1 13 -5

TongHangLe.out
Tong cua 5 hang
Tong hang thu 1 = 7
Tong hang thu 2 = 12
Tong hang thu 3 = 1

Tong hang thu 4 = 6
Tong hang thu 5 = 4
Tong cac so giam dan: 12 7 6 4 1

Câu 3: (7,0 điểm) Dãy con K
Cho một dãy A gồm N số nguyên dương (1 ≤ N ≤ 1000) có dạng A1, A2, …, AN và
số nguyên dương K (K ≤ 1000). Hãy tìm dãy con gồm nhiều phần tử nhất của dãy đã cho
sao cho tổng các phần tử của dãy con này chia hết cho K. (dãy con tìm được có thể chứa các
phần tử không liên tục trong dãy đã cho)
Dữ liệu vào trong tập tin văn bản DayConK.inp
- Dòng 1: N, K cách nhau bằng khoảng trắng.
- Dòng 2: chứa N số A1, A2, …, AN cách nhau bằng khoảng trắng.
Kết quả xuất ra tập tin văn bản DayConK.out
- Dòng 1: số lượng phần tử tìm được.
- Các dòng tiếp ghi các phần tử được chọn vào dãy con.
- Dòng cuối ghi tổng các phần tử của dãy con đó.
Ví dụ:
DayConK.inp
10 7
1 9 11 5 10 21 7 2 4 8

DayConK.out
So luong phan tu tim duoc: 9
A[1] = 1
A[2] = 9
A[3] = 11
A[4] = 5
A[5] = 10
A[6] = 21
A[7] = 7

A[8] = 2
A[9] = 4
Tong cac phan tu cua day tim duoc: 70

--- HẾT --Họ tên thí sinh: ................................................................Số báo danh: ................................
Chữ ký của Giám thị 1: ..................................Chữ ký của Giám thị 2:.................................



×