Tải bản đầy đủ (.doc) (3 trang)

De thi hsg cap truong lan 2

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 (128.22 KB, 3 trang )

SỞ GD VÀ ĐT THANH HÓA
TRƯỜNG THPT TRIỆU SƠN 2
Số báo danh
…………………….

KỲ THI HỌC SINH GIỎI CẤP TRƯỜNG
Năm học: 2022 - 2023
Môn thi: Tin học
Ngày thi: 14/11/2022
Thời gian: 150 phút (khơng kể thời gian giao đề)
Đề này có 05 bài, gồm 03 trang.

Tổng quan bài thi:
Tên bài
File chương trình
File dữ liệu vào
File kết quả
Bài 1
Bai1.cpp
Bài1.inp
Bai1.out
Bài 2
Bai2.cpp
Bài2.inp
Bai2.out
Bài 3
Bai3.cpp
Bài3.inp
Bai3.out
Bài 4
Bai4.cpp


Bài4.inp
Bai4.out
Bài 5
Bai5.cpp
Bài5.inp
Bai5.out
Hãy lập trình giải các bài tốn sau:
Bài 1 (6 điểm): Tính tiền xe buýt
Nhà Tý xa trường nên hằng ngày Tý phải đón xe buýt đi học. Quan sát nhân viên tính tiền
cho khách Tý thấy nhân viên tính tiền rất nhanh nhưng khơng biết có chính xác hay khơng. Suy
nghĩ một lúc Tý nghĩ ra cách tính tiền một cách chính xác như sau: Tý ghi lại khoảng cách từ
tuyến đầu của bến xe buýt đến từng trạm chờ, sau đó đưa vào bảng giá quy định và các vị trí đón
trả khách để tính tiền. Lưu ý khách có thể đón chiều đi hoặc chiều về.
Yêu cầu: Hãy giúp Tý tính tiền xe buýt cho khách.
Biết giá vé xe bt có 4 mức như sau:
- Cự ly dưới ¼ tuyến
- Cự ly từ ¼ đến dưới 1/3 tuyến
- Cự ly từ 1/3 đến dưới ½ tuyến
- Cự ly từ ½ đến trọn tuyến.
Dữ liệu vào: Cho trong tệp văn bản BUS.INP gồm
- Dòng đầu tiên ghi 2 số nguyên dương n và m. Trong đó n là số trạm chờ xe buýt, và m là
độ dài tuyến xe buýt (n, m 1000)
- Dòng thứ 2 ghi n số thực a1 ,a2 ,a3 ,…, an (an  1000) trong đó ai là khoảng cách từ bến
đầu đến trạm chờ bến thứ i
- Dòng thứ 3 ghi 4 số nguyên x, y, z, t là giá vé tương ứng với 4 cự li ở trên (0 50000)
- Dòng cuối cùng ghi điểm đón và vị trí trả khách (trong đó vị trí bến đầu có giá trị là 0 và
vị trí bến cuối có giá trị là n+1)
Lưu ý: Giữa hai số trên một dòng cách nhau 1 khoảng trống
Dữ liệu ra: Xuất ra tệp BUS.OUT gồm 1 số nguyên dương duy nhất là số tiền phải trả


Ví dụ:
BAI1.INP
8 20
1.0 1.7 2.2 3.8 7.1 10.0 12.2 17.5
5000 10000 15000 20000
37
Bài 2 (5 điểm): Số thân thiện
Người ta định nghĩa:

BAI1.OUT
20000

Trang 1/3


- Ước số thực sự của một số là những ước số của số đó và bé hơn số đó. Ví dụ: số 9 có
các ước số thực sự là 1 và 3.
- Hai số được gọi là hai số thân thiện nếu các ước số thực sự của số này là ước số của số
kia và ngược lại. Ví dụ: Số 9 có các ước số thực sự là 1, 3 và số 27 có các ước số thực sự là 1, 3,
9. Vậy số 9 và số 27 là hai số thân thiện.
Cho hai số nguyên dương M và N (1 ≤ M, N ≤ 32000; M ≠ N).
Yêu cầu: Kiểm tra hai số M và N có phải là hai số thân thiện hay không.
Dữ liệu vào: Cho trong file văn bản STT.INP có cấu trúc như sau:
- Dòng 1: Ghi hai số nguyên dương M N, các số được ghi cách nhau một dấu cách.
Dữ liệu ra: Ghi ra file văn bản STT.OUT theo cấu trúc như sau:
- Dòng 1: Ghi số 1 nếu M và N là hai số thân thiện, ngược lại thì ghi số 0.

Ví dụ:
BAI20.INP BAI2.OUT

9 27
1

BAI2.INP BAI2.OUT
9 12
0

Bài 3 (4 điểm): Lì xì
Nhân dịp Tết, ba bé Bo chuẩn bị n túi lì xì cho bé Bo. Trong túi thứ i có số tiền là a i và một
số nguyên bi (bi ≥ 0). Nếu bi > 0 thì bé Bo được phép chọn thêm bi túi lì xì khác. Việc chọn thêm
này là tích lũy. Đầu tiên, bé Bo chọn một túi bất kỳ, sau đó giả sử bé Bo đang có tổng số tiền là
A và số túi được phép chọn thêm là B (B>0), nếu bé Bo chọn thêm túi thứ i thì tổng số tiền là A
+ ai và tổng số túi được chọn thêm là B -1 + bi . Cứ như vậy cho đến khi không được phép chọn
thêm (B=0) hoặc đã chọn hết n túi.
Yêu cầu: Bạn hãy giúp bé Bo xác định thứ tự chọn túi sao cho tổng số tiền bé có được là lớn
nhất nhé.
Dữ liệu vào:
- Dòng đầu tiên là số nguyên n (1 ≤ n ≤ 100)
- Trong n dòng tiếp theo, dòng thứ i gồm 2 số nguyên ai và bi cách nhau một khoảng trắng (1 ≤
ai ≤ 100, 0 ≤ bi ≤ 100)
Dữ liệu ra:
- Là số nguyên xác định số tiền nhiều nhất mà bé Bo có được.
Ví dụ
BAI3.INP
BAI3.OUT
2
2
10
20
3

3
10
20
02
- Trong test 1, do chỉ chọn được 1 túi nên chọn túi có số tiền nhiều nhất là 2.
- Trong test 2, đầu tiên chọn túi 3, sau đó chọn túi 1 và tiếp theo là túi 2.
Bài 4 (3 điểm) xâu tương đương
Cho 2 xâu A, B chỉ gồm các chữ số (0 ->9). Hãy đếm xem có bao nhiêu xâu con liên tiếp
trong xâu B mà “tương đương” với xâu A. Xâu con liên tiếp B i Bi+1..Bj được gọi là tương đương
Trang 2/3


nếu chúng khi được thay thế không quá K ký tự thì tạo được một xâu mới chính là A. Nhiệm vụ
của bạn là đếm số cặp i,j như vậy.
Dữ liệu: ghi trong file BAI3.INP
- Dòng đầu tiên chứa số nguyên dương K
- Dòng thứ 2 chứa xâu A
- Dòng thứ 3 chứa xâu B
Kết quả: In ra file BAI3.OUT gồm một số nguyên dương duy nhất là lượng xâu con liên tiếp
“tương đương ” với xâu A trong xâu B

Ví dụ:
BAI4.INP BAI4.OUT
1
2
141
24141
Giải thích: có 2 xâu con liên tiếp của xâu B “tương đương” với xâu A là {bna} và {ana}
Ràng buộc
30% test k<|A|<|B|<1000

30% test k=0, |A|<|B|<105
40% test k<50, |A|<|B|<105
Bài 5 (2 điểm): Xâu đẹp
Ta định nghĩa một xâu kí tự X có độ dài K được gọi là xâu đẹp nếu như nó thõa m ãn các điều
kiện sau:
- K chẵn (xâu X có độ dài chẵn).
- X[1] = X[K].
- X[2] ≠ X[K-1]
- ...........
(Tổng quát: i 

K
thì nếu i lẻ X[i]=X[k-i+1], nếu i chẵn X[i] ≠ X[k-i+1]).
2

Yêu cầu: Cho một xâu độ dài N chỉ gồm các kí tự là chữ cái latin thường. Hãy tìm xâu con liên
tiếp dài nhất của xâu đã cho sao cho nó là một xâu đẹp.
Dữ liệu vào: File văn bản BAI3.INP gồm:
- Dòng 1: Số nguyên dương N <=500 độ dài của xâu đã cho.
- Dòng 2: Chứa một xâu gồm N kí tự chỉ gồm các chữ cái latin in thường.
Dữ liệu ra: Ghi vào file BAI4.OUT một số duy nhất là độ dài của xâu con liên tiếp tìm được,
nếu như khơng tìm được xâu nào thì in ra 0.
Ví dụ:
BAI5.INP
5
ioooo

BAI5.OUT
0


Cán bộ coi thi khơng giải thích gì thêm.
----------------------------- Hết -----------------------------

Trang 3/3



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×