You are on page 1of 4

TRƯỜNG THPT ĐÀO DUY TỪ KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH

LỚP 12 NĂM HỌC 2018 – 2019

ĐỀ CHÍNH THỨC Môn: TIN HỌC


(Đề thi gồm 03 trang) Thời gian làm bài: 180 phút (không kể thời gian phát đề)
Ngày thi:

TỔNG QUAN ĐỀ THI


Điể
Bài Tệp mã nguồn Tệp dữ liệu vào Tệp dữ liệu ra
m
Mắt xích Bai1.* Bai1.inp Bai1.out 5
Cấp số cộng Bai2.* Bai2.inp Bai2.out 5
Cặp số Bai3.* Bai3.inp Bai3.out 4
Tổng đoạn Bai4.* Bai4.inp Bai4.out 3
Bức thư Bai5.* Bai5.inp Bai5.inp 3
Dấu * được thay thế bằng pas hoặc cpp tùy theo ngôn ngữ sử dụng là Pascal hoặc C++.
Hãy viết chương trình giải các bài toán sau:
Bài 1: Mắt xích
Nhà bạn An có một đoạn dây xích dài. Trên đoạn dây xích đã có những mắt xích có dấu hiệu bị
hư hỏng, bố bạn An muốn sửa lại đoạn dây xích này để sử dụng bằng cách loại bỏ những mắt xích
đã bị hư và thay thế bằng mắt xích mới. Bố bạn An đã đánh số các mắt xích hư là 0 và các mắt xích
chưa hư là 1. Nhiệm vụ của An là giúp bố đếm xem có bao nhiêu mắt xích bị hư để tiện thay thế.
Dữ liệu vào từ tệp bai1.inp: gồm một xâu các ký tự chỉ bao gồm các ký tự ‘0’ và ‘1’(xâu dài không
quá 255 ký tự).
Dữ liệu ra ghi vào tệp bai1.out: số lượng mắt xích bị hư.
Ví dụ:
Bai1.inp Bai1.out
1010101 3
0001100 5

Bài 2: Cấp số cộng


Dãy số (Un) là cấp số cộng thì Un+1=Un + d, trong đó n là số nguyên dương, d là một hằng số gọi
là công sai, d=Un+1 – Un . Ví dụ: cho dãy số 3 5 7 9 là một cấp số cộng với d=2.
Cho một dãy số nguyên dương bất kỳ. Em hãy cho biết dãy số có thể tạo thành một dãy cấp số
cộng hay không?
Dữ liệu vào từ tệp Bai2.inp:
- Dòng thứ nhất là số nguyên n.
- Dòng thứ hai là dãy n số nguyên ai (0≤ai≤109), các số cách nhau bởi duy nhất một dấu cách.
Dữ liệu ra ghi vào tệp Bai2.out:

Trang 1 / 4
- Dòng thứ nhất ghi “no” nếu dãy không phải là cấp số cộng, ghi “yes” nếu dãy là cấp số
cộng.
- Dòng thứ hai ghi dãy số cấp số cộng nếu có.
Ví dụ:
Bai2.inp Bai2.out
4 no
4 2 10 8
4 yes
2684 2468
Ràng buộc:

- 80% số test tương ứng với n≤ 103.


- 20% số test tương ứng với n≤ 106.
Bài 3: Cặp số (5 điểm)
Hai số nguyên dương X và Y được gọi là cặp đôi hợp nhau nếu X chia hết cho Y. Cho một số
nguyên dương N. Em hãy tìm xem có bao nhiêu cặp (X,Y) trong miền giá trị từ 1 đến N.
Ví dụ:
- Cho N=2, có 4 cặp số có thể là: (1,1); (1,2); (2,1); (2,2). Vậy có 3 cặp
(X,Y) là: (1,1); (2,1), (2,2).
- Cho N=3, có 9 cặp số có thể là: (1,1); (1,2); (1,3); (2,1); (2,2); (2,3); (3,1); (3,2); (3,3). Vậy
có 5 cặp (X,Y) là: (1,1); (2,1); (2;2); (3,1); (3,3)
Dữ liệu vào từ tệp Bai3.inp: một số nguyên dương N.
Dữ liệu ra ghi vào tệp Bai3.out: số lượng cặp (X,Y).
Ví dụ:
Bai3.inp Bai3.out
2 3
3 5
Ràng buộc:

- 80% test tương ứng với N≤ 106

- 20% test tương ứng với N≤ 109

Bài 4: Tổng đoạn ( 3 điểm)


Một dãy con gồm các phần tử liên tiếp nhau trong một dãy cho trước được gọi là
đoạn. Cho dãy gồm N số tự nhiên. Tìm đoạn ngắn nhất có tổng các phần tử bằng giá trị K
cho trước.
Dữ liệu vào: Tệp văn bản Bai4.inp gồm:
- Dòng thứ nhất: hai số tự nhiên N và K, 1<=N<=10 9.
- Dòng thứ hai trở đi: các phần tử của dãy.
Dữ liệu ra: tệp văn bản Bai4.out chứa một dòng duy nhất gồm hai số tự nhiên d-chỉ số
đầu đoạn và L-số phần tử trong đoạn (Chiều dài đoạn). Nếu vô nghiệm thì ghi 0 0.

Trang 2 / 4
Trong các tệp, dữ liệu trên cùng dòng cách nhau 1 dấu cách trống.

Trang 3 / 4
Ví dụ:
Bai4.inp Bai4.out
21 17 16 3
0 2 3 2 10 1 5 5 6 12 20 30 14 8 0 11 0 6 0 0 5

Bài 5: Bức thư (3 điểm)


          Vị Giám đốc công ty XYZ cần gửi một văn bản quan trọng tới một đối tác của
mình. Văn bản là một xâu S các chữ cái la tinh in thường. Để bảo mật nội dung văn bản,
ông Giám đốc gửi 2 bức thư. Bức thư thứ nhất là phần đầu Sb của xâu S, bức thư thứ 2 là
phần cuối Se của S. Hai bức thư Sb và Se đảm bảo đầy đủ nội dung của S, tuy nhiên có thể
một phần cuối của Sb có thể được viết lặp lại trong phần đầu của Se, song số kí tự được viết
lặp lại không biết trước.
Ví dụ: với văn bản S= ‘truongnguyenduquannhat’ tạo ra hai bức thư:
Sb= ‘truongnguyendu’ và Se= ‘nguyenduquannhat’
Yêu cầu: Cho hai xâu Sb và Se, hãy xác định một xâu S có thể là nội dung của bức thư
sao cho độ dài của xâu S là ngắn nhất.
Dữ liệu:
Lấy ra từ tệp Bai5.inp gồm hai dòng: Dòng đầu chứa xâu Sb, dòng thứ hai chứa xâu
Se. Mỗi xâu có độ dài không quá 255.
Kết quả
Ghi vào tệp Bai5.out bao gồm nội dung và độ dài của xâu S tìm được trên các dòng
khác nhau.
Ví dụ
Bai5.inp Bai5.out
Truongnguyendu truongnguyenduquannhat
Nguyenduquannhat 22

HẾT

Họ và tên thí sinh:............................................................Số báo danh:..........................

Trang 4 / 4

You might also like