Đề thi HSG Tin Học 12 Sở Giáo Dục Quảng Nam 2021 (có đáp án)

Đề thi học sinh giỏi Tin Học 12 Sở Giáo Dục Quảng Nam 2021 có đáp án. Tài liệu được biên soạn dưới dạng file PDF bao gồm 4 trang trong đó có các đề thi giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kỳ thi sắp tới. Mời các bạn đón xem!

Trang 1
SỞ GIÁO DỤC VÀ ĐÀO TẠO
QUẢNG NAM
(Đề thi có 03 trang)
KỲ THI HỌC SINH GIỎI LỚP 12 THPT CP TỈNH
NĂM HỌC 2020 - 2021
Môn thi : Tin học
Thời gian : 150 phút (không kể thời gian giao đề)
Ngày thi : 12/03/2021
TỔNG QUAN Đ THI TỔNG QUAN ĐỀ BÀI
i
Tên bài
File chương
trình
File dữ liệu vào
File kết quả
1
Tổng chữ số
SUMN.*
SUMN.INP
SUMN.OUT
2
Sốợng bội
MULT.*
MULT.INP
MULT.OUT
3
Tổng bằng 0
ZERO.*
ZERO.INP
ZERO.OUT
4
Xâu con
SUBSTR.*
SUBSTR.INP
SUBSTR.OUT
Dấu * đưc thay thế bởi PAS hoặc CPP ca ngôn nglập trình được sdụng ơng
ứng là Pascal hoặc C++.
Hãy lập trình giải các bài toán sau:
Bài 1. Tổng chữ số (5 điểm)
Cho mt s t nhiên N (N<10
64
).
Yêu cu: Hãy viết chương trình tính tng các ch s ca s t nhiên đã cho.
Ví dụ: N=1234. Tổng các chữ số của nó là 10.
D liu vào: T tp văn bn SUMN.INP gm mt s N.
Kết qu: Ghi ra tệp văn bn SUMN.OUT gm mt s duy nhất tìm được.
Ví dụ:
SUMN.INP
SUMN.OUT
1234
10
Ràng buộc:
60% test ng 60% s đim ca bài vi N 10
6
;
20% test ng 20% s đim ca bài vi N 10
18
;
Có 20% test khác ng vi 20% s đim còn li ca i vi N < 10
64
.
i 2. Số lượng bội (5 điểm)
ĐỀ CHÍNH THỨC
Trang 2
Cho hai s nguyên dương N và X (N, X 10
18
).
Yêu cu: Hãy viết chương trình m s ng bi ca N sao cho bi ca N không vượt
quá giá tr ca X.
Ví dụ: N=2, X=7. S lượng bội của N là 3 ( có 2, 4 và 6 là bội của N).
Dữ liệu vào: Từ tệp văn bản MULT.INP có cấu trúc:
Dòng đầu ghi s nguyên dương K(K 100) số lượng b dữ liệu;
Tiếp theo K dòng, mi dòng tương ứng vi b dữ liệu chứa hai số N và X.
Kết quả : Ghi ra tệp văn bản MULT.OUT gồm K dòng, mỗi dòng tương ứng với b dữ liệu
vào là s lượng bội của N m đưc.
Ví dụ:
MULT.INP
MULT.OUT
1
2 7
3
MULT.INP
MULT.OUT
2
2 7
5 10
3
2
Ràng buộc:
60% test ng 60% s đim ca bài vi N, X 10
5
và K=1;
20% test ng 20% s đim ca bài vi N, X 10
5
;
20% test khác ng vi 20% s đim còn li ca bài vi N, X 10
18
.
Bài 3. Tổng bằng 0 (5 điểm)
Cho dãy số nguyên gồm N phần tử a
1
, a
2
, …, a
N
. Gọi Q số lượng phần tử của
dãy con liên tiếp dài nhất có tổng bằng 0.
Yêu cầu: Hãy viết chương trìnhm Q.
dụ: N=5 với y: 2, 1, -2, 3, -2 thì y con dài nhất tổng bằng 0 : 1,-2, 3,
-2 và Q=4.
Dữ liệu vào: Từ tệp văn bản ZERO.INP có cấu trúc:
Dòng đu tiên cha s t nhiên N(1 N ≤ 10
6
);
Dòng tiếp theo cha dãy s nguyên gm N phn t a
1
, a
2
, , a
N
. (|a
i
| 10
9
),
các s cách nhau mt du cách.
Kết quả: Ghi ra tệp văn bản ZERO.OUT gồm một số Q duy nhất.
Ví dụ:
Trang 3
ZERO.INP
ZERO.OUT
5
2 1 -2 3 -2
4
Ràng buộc
Có 80% test ng 80% s đim ca i với N ≤ 3*10
3
;
Có 20% khác ng vi 20% s đim còn li cai với N ≤ 10
6
.
i 4. Xâu con (5 điểm)
Mt xâu gi xâu nh phân nếu ch cha hai ký t “0” hoặc “1”. Xâu v gi xâu con
ca w nếu xâu v độ dài khác 0 và gm các ký t ln tiếp trong u w. d: xâu “010”
có các xâu con là “0”, “1”, “0”, “01”, “10”, “010”.
Yêu cầu: Cho trước một giá trị K, hãy đếm xem có bao nhiêu xâu con chứa đúng K ký tự “1”.
Dữ liệu vào: Từ tệp văn bản SUBSTR.INP có cấu trúc:
Dòng 1 cha mt s nguyên K (0 K 10
6
);
Dòng 2 cha mt xâu nh phân có độ dài không quá 10
6
.
Kết quả : Ghi ra tệp văn bản SUBSTR.OUT gồm một s nguyên duy nhất là kết quả tìm
được.
Ví dụ:
SUBSTR.INP
SUBSTR.OUT
Giải thích
2
01010
4
4 u chứa 2 tự 1 là:
“101”, “0101”, “1010”, “01010.
SUBSTR.INP
SUBSTR.OUT
2
1111
3
Ràng buộc:
Có 60% test ng 60% s đim ca i vi K 100 đdài của xâu không quá 100;
Có 20% test ng 20% s đim ca i vi K 254 đdài của xâu không quá 254;
Có 20% test khác ứng với 20% số điểm còn li của bài với K 10
6
độ dài của u
không quá 10
6
.
---------------Hết---------------
(Thí sinh không đưc sử dụng tài liệu. Cán bộ coi thi không gii thích gì thêm)
Họ và tên thí sinh: .............................................................. Sốo danh: ...............................
ĐÁP ÁN
Trang 4
SỞ GIÁO DỤC VÀ ĐÀO TẠO
QUẢNG NAM
(ĐA. gồm có 01 trang)
KỲ THI HỌC SINH GIỎI LỚP 12 THPT CẤP TỈNH
NĂM HỌC 2020 - 2021
Môn thi : Tin học
ĐÁP ÁN VÀ HƯỚNG DN CHM
Chấm bài bằng chương trình chấm Themis mi nhất (có kèm theo) cài đặt trên hđiều hành
Windows 10 (64bit) trở lên, các tests đã cài đặt sẵn cấu hình chấm bài.
i 1: (5 điểm) 20 tests, mỗi TEST đúng đưc 0.25 điểm. Thời gian chạy 1s/ 1test. B
nhớ 1024M.
TEST
SUMN.INP
SUMN.OUT
1
1111
4
...
...
...
20
i 2: (5 điểm) Có 25 tests, mỗi TEST đúng được 0.2 điểm. Thi gian chạy 1s/ 1test. Bộ
nhớ 1024M.
TEST
MULT.INP
MULT.OUT
1
1
2 7
3
...
...
...
25
i 3: (5 điểm) 30 tests, 29 TEST đúng được 0.167 điểm và TEST 30 đúng đưc 0.157.
Thi gian chạy 1s/ 1test. Bộ nhớ 1024M.
TEST
ZERO.INP
ZERO.OUT
1
5
2 1 -2 3 -2
4
...
...
...
30
i 4: (5 điểm) Có 25 tests, mỗi TEST đúng được 0.2 điểm. Thi gian chạy 1s/ 1test. Bộ
nhớ 1024M.
TEST
SUBSTR.INP
SUBSTR.OUT
1
100
01010
0
...
...
...
25
------------------------------------HẾT----------------------------------
| 1/4

Preview text:


SỞ GIÁO DỤC VÀ ĐÀO TẠO
KỲ THI HỌC SINH GIỎI LỚP 12 THPT CẤP TỈNH QUẢNG NAM NĂM HỌC 2020 - 2021 Môn thi : Tin học
Thời gian : 150 phút
(không kể thời gian giao đề) ĐỀ CHÍNH THỨC
Ngày thi : 12/03/2021
(Đề thi có 03 trang)
TỔNG QUAN ĐỀ THI TỔNG QUAN ĐỀ BÀI File chương Thời Bài Tên bài File dữ liệu vào File kết quả trình gian 1 Tổng chữ số SUMN.* SUMN.INP SUMN.OUT 1 s 2 Số lượng bội MULT.* MULT.INP MULT.OUT 1 s 3 Tổng bằng 0 ZERO.* ZERO.INP ZERO.OUT 1 s 4 Xâu con SUBSTR.* SUBSTR.INP SUBSTR.OUT 1 s
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 bài toán sau:
Bài 1. Tổng chữ số (5 điểm)
Cho một số tự nhiên N (N<1064).
Yêu cầu: Hãy viết chương trình tính tổng các chữ số của số tự nhiên đã cho.
Ví dụ: N=1234. Tổng các chữ số của nó là 10.
Dữ liệu vào: Từ tệp văn bản SUMN.INP gồm một số N.
Kết quả: Ghi ra tệp văn bản SUMN.OUT gồm một số duy nhất tìm được. Ví dụ: SUMN.INP SUMN.OUT 1234 10 Ràng buộc:
Có 60% test ứng 60% số điểm của bài với N ≤ 106;
Có 20% test ứng 20% số điểm của bài với N ≤ 1018;
Có 20% test khác ứng với 20% số điểm còn lại của bài với N < 1064.
Bài 2. Số lượng bội (5 điểm) Trang 1
Cho hai số nguyên dương NX (N, X ≤ 1018).
Yêu cầu: Hãy viết chương trình tìm số lượng bội của N sao cho bội của N không vượt
quá giá trị của X.
Ví dụ: N=2, X=7. Số lượng bội của N là 3 (vì có 2, 4 và 6 là bội của N).
Dữ liệu vào: Từ tệp văn bản MULT.INP có cấu trúc:
• Dòng đầu ghi số nguyên dương K(K ≤ 100) là số lượng bộ dữ liệu;
• Tiếp theo là K dòng, mỗi dòng tương ứng với bộ dữ liệu chứa hai số NX.
Kết quả : Ghi ra tệp văn bản MULT.OUT gồm K dòng, mỗi dòng tương ứng với bộ dữ liệu
vào là số lượng bội của N tìm được. Ví dụ: MULT.INP MULT.OUT 1 3 2 7 MULT.INP MULT.OUT 2 3 2 7 2 5 10 Ràng buộc:
Có 60% test ứng 60% số điểm của bài với N, X ≤ 105 và K=1;
Có 20% test ứng 20% số điểm của bài với N, X ≤ 105;
Có 20% test khác ứng với 20% số điểm còn lại của bài với N, X ≤ 1018.
Bài 3. Tổng bằng 0 (5 điểm)
Cho dãy số nguyên gồm N phần tử a1, a2, …, aN. Gọi Q là số lượng phần tử của
dãy con liên tiếp dài nhất có tổng bằng 0.
Yêu cầu: Hãy viết chương trình tìm Q.
Ví dụ: N=5 với dãy: 2, 1, -2, 3, -2 thì dãy con dài nhất có tổng bằng 0 là: 1,-2, 3, -2 và Q=4.
Dữ liệu vào: Từ tệp văn bản ZERO.INP có cấu trúc:
• Dòng đầu tiên chứa số tự nhiên N(1 ≤ N ≤ 106);
• Dòng tiếp theo chứa dãy số nguyên gồm N phần tử a1, a2, …, aN. (|ai| ≤ 109),
các số cách nhau một dấu cách.
Kết quả: Ghi ra tệp văn bản ZERO.OUT gồm một số Q duy nhất. Ví dụ: Trang 2 ZERO.INP ZERO.OUT 5 4 2 1 -2 3 -2 Ràng buộc
Có 80% test ứng 80% số điểm của bài với N ≤ 3*103;
Có 20% khác ứng với 20% số điểm còn lại của bài với N ≤ 106.
Bài 4. Xâu con (5 điểm)
Một xâu gọi là xâu nhị phân nếu chỉ chứa hai ký tự “0” hoặc “1”. Xâu v gọi là xâu con
của w nếu xâu v có độ dài khác 0 và gồm các ký tự liên tiếp trong xâu w. Ví dụ: xâu “010”
có các xâu con là “0”, “1”, “0”, “01”, “10”, “010”.
Yêu cầu: Cho trước một giá trị K, hãy đếm xem có bao nhiêu xâu con chứa đúng K ký tự “1”.
Dữ liệu vào: Từ tệp văn bản SUBSTR.INP có cấu trúc:
• Dòng 1 chứa một số nguyên K (0 ≤ K 106);
• Dòng 2 chứa một xâu nhị phân có độ dài không quá 106.
Kết quả : Ghi ra tệp văn bản SUBSTR.OUT gồm một số nguyên duy nhất là kết quả tìm được. Ví dụ: SUBSTR.INP SUBSTR.OUT
Giải thích 2 4
Có 4 xâu chứa 2 ký tự “1” là: 01010
“101”, “0101”, “1010”, “01010”. SUBSTR.INP SUBSTR.OUT 2 3 1111 Ràng buộc:
Có 60% test ứng 60% số điểm của bài với K ≤ 100 và độ dài của xâu không quá 100;
Có 20% test ứng 20% số điểm của bài với K ≤ 254 và độ dài của xâu không quá 254;
Có 20% test khác ứng với 20% số điểm còn lại của bài với K ≤ 106 và độ dài của xâu không quá 106.
---------------Hết---------------
(Thí sinh không được sử dụng tài liệu. Cán bộ coi thi không giải thích gì thêm)
Họ và tên thí sinh: .............................................................. Số báo danh: ............................... ĐÁP ÁN Trang 3
SỞ GIÁO DỤC VÀ ĐÀO TẠO
KỲ THI HỌC SINH GIỎI LỚP 12 THPT CẤP TỈNH QUẢNG NAM NĂM HỌC 2020 - 2021 Môn thi : Tin học
ĐÁP ÁN VÀ HƯỚNG DẪN CHẤM (ĐA. gồm có 01 trang)
Chấm bài bằng chương trình chấm Themis mới nhất (có kèm theo) cài đặt trên hệ điều hành
Windows 10 (64bit) trở lên, các tests đã cài đặt sẵn cấu hình chấm bài.
Bài 1: (5 điểm) Có 20 tests, mỗi TEST đúng được 0.25 điểm. Thời gian chạy 1s/ 1test. Bộ nhớ 1024M. TEST SUMN.INP SUMN.OUT 1 1111 4 ... ... ... 20
Bài 2: (5 điểm) Có 25 tests, mỗi TEST đúng được 0.2 điểm. Thời gian chạy 1s/ 1test. Bộ nhớ 1024M. TEST MULT.INP MULT.OUT 1 1 3 2 7 ... ... ... 25
Bài 3: (5 điểm) Có 30 tests, 29 TEST đúng được 0.167 điểm và TEST 30 đúng được 0.157.
Thời gian chạy 1s/ 1test. Bộ nhớ 1024M. TEST ZERO.INP ZERO.OUT 5 1 4 2 1 -2 3 -2 ... ... ... 30
Bài 4: (5 điểm) Có 25 tests, mỗi TEST đúng được 0.2 điểm. Thời gian chạy 1s/ 1test. Bộ nhớ 1024M. TEST SUBSTR.INP SUBSTR.OUT 100 1 0 01010 ... ... ... 25
------------------------------------HẾT---------------------------------- Trang 4