Hãy lập trình giải các bài toán sau Câu 1 : 6 điểm CAIBANG Hôm nay các học viên nhí của Trung tâm Anh ngữ ABC Smart được học về các nguyên âm và phụ âm.. Dữ liệu: Vào từ file văn bản CA
Trang 1SỞ GD & ĐT THANH HÓA
Trường THPT Đông Sơn 2
ĐỀ CHÍNH THỨC
(Đề gồm 4 trang 5 câu tự luận)
ĐỀ KSCL HSG NĂM HỌC 2021-2022
MÔN TIN HỌC
Thời gian: 150 phút (không kể thời gian giao đề)
Họ và tên thí sinh:………Số báo danh………
Tổng quan bài thi:
trình
File dữ liệu
Dấu (*) trong tên file chương trình biểu thị đuôi file tùy thuộc vào NNLT sử dụng ('pas' đối với NNLT PASCAL, ‘cpp’ đối với NNLT C++, ).
Hãy lập trình giải các bài toán sau
Câu 1 : (6 điểm) CAIBANG
Hôm nay các học viên nhí của Trung tâm Anh ngữ ABC Smart được học về các nguyên
âm và phụ âm Trong tiếng anh có 5 nguyên âm chính là a, e, i, o, u; các chữ cái còn lại
có thể coi là phụ âm Long là một học sinh rất thông minh, liền nghĩ ra một bài toán để
đố các bạn của mình trong lớp: cho một chuỗi ký tự gồm các chữ cái hoặc chữ số (“a”
“z”, “0” ”, “0” ”9” ) hãy đếm xem trong chuỗi, phụ âm xuất hiện bao nhiêu lần? Nếu chuỗi ký tự ngắn thì các bạn nhỏ đếm cực nhanh, nhưng có một số chuỗi dài thì việc đếm là mất thời gian và dễ nhầm lẫn Được biết vào chiều thứ 7 tuần này có cuộc thi lập trình trên máy tính giữa các Cái Bang, Các bạn nhỏ muốn nhờ Bang Chủ gửi câu đố của Long đến đồ đệ của các Cái Bang giải giúp
Dữ liệu: Vào từ file văn bản CAU1.INP gồm:
+ Dòng đầu tiên số nguyên dương N là độ dài của dãy ký tự (N<=
106) + Dòng thứ 2 là chuỗi ký tự thỏa mãn đề bài
Kết quả: Ghi ra file văn bản CAU1.OUT là kết quả của đề
bài Ví dụ:
Ví dụ:
Trang 1/4
Trang 211 abcsmartno1
7
Câu 2 : (5 điểm) CHỮ SỐ NGUYÊN TỐ
Một số nguyên dương S gồm n chữ số (1≤S≤105, 1≤n≤6)
Yêu cầu: Hãy liệt kê các chữ số ai (1≤i≤n) là số nguyên tố xuất hiện trong S theo thứ tự
từ trái sang phải, nếu các chữ số tìm được trùng nhau thì chỉ liệt kê lần xuất hiện đầu tiên
Dữ liệu vào: Đọc từ tệp CAU2.INP gồm một dòng chứa số nguyên dương S.
Dữ liệu ra: Đưa ra tệp CAU2.OUT một dãy các số ai tìm được thoã mãn yêu cầu của đề
bài Trường hợp không tìm được ghi ra số 0
Ví dụ:
23271
2 3 7 Các chữ số nguyên tố xuất hiện trong S là 2 3 2 7
nhưng vì số 2 xuất hiện hai lần nên chỉ in ra 2 3 7
Câu 3 : (4 điểm) HOÁN VỊ SỐ
Trong một cuốn sách cổ có ghi lại rất nhiều các con số bí ẩn mà chúng có mối liên hệ với số 30 Sau một thời gian nghiên cứu, các chuyên gia đã tìm được cách giải
mã các số đó: hoán vị các chữ số của số bí ẩn để thu được một bội số lớn nhất của 30
Yêu cầu: Hãy viết chương trình để giúp các chuyên gia giải mã các con số bí ẩn đó.
Dữ liệu: vào từ tệp CAU3.INP.
Gồm một dòng duy nhất chứa số nguyên dương N, với N có số tối đa 107 chữ số
là số cần giải mã
Kết quả: Đưa ra tệp CAU3.OUT:
Gồm một số duy nhất là số lớn nhất chia hết cho 30 tìm được bằng cách hoán vị các chữ số của N Nếu không tìm thấy thì đưa ra -1
Ví dụ :
1002 2100 Số 2100 là hoán vị lớn nhất của số 1002 và chia hết
cho 30
12498567859 -1 Không tồn tại số hoán vị nào chia hết cho 30
Giới hạn:
50% các test có N ≤10 9
50% các test còn lại: N tối đa 107 chữ số
Câu 4 : (3 điểm) TỔNG LIÊN TIẾP
Trong một cuộc thi ban giám khảo chuẩn bị một màn hình lớn, người ta cho lần
Trang 2/4
Trang 3lượt xuất hiện các số của một dãy số nguyên dương a1, a2, … ,an và cứ lặp lại như thế không ngừng (nghĩa là đầu tiên xuất hiện a1, rồi đến a2, a3, …,an, a1, a2, )
Yêu cầu: Bạn hãy giúp ban tổ chức tính tổng k số liên tiếp xuất hiện trên màn hình bắt
đầu từ số nguyên xuất hiện thứ p
Dữ liệu: Đọc từ Tệp CAU4.INP gồm:
Dòng thứ nhất ghi các số nguyên dương n,k,p
Dòng thứ hai ghi n số nguyên dương a1, a2, … ,an (1≤ai≤ 109)
Kết quả: Đưa ra tệp CAU4.OUT gồm một số nguyên duy nhất là kết quả của bài toán
chia lấy dư cho 109 +7
Ví dụ :
5 7 6
2 3 6 7 9
32 7 số nguyên liên tiếp xuất hiện trên màn hình bắt
đầu từ số xuất hiện thứ 6 là: 2 3 6 7 9 2 3
Giới hạn:
Có 40 test ứng với 40% số điểm thoã mãn n≤103; p=1; k≤n;
Có 30 test ứng với 30% số điểm thoã mãn n≤103; p,k≤106;
Có 30 test ứng với 30% số điểm thoã mãn n≤106; p,k≤1018;
Câu 5 : (2 điểm) XEPHANG
Trường THPT chuyên Lam Sơn có n học sinh đang xếp thành một hàng dọc Các học sinh được đánh số từ 1 đến n Ban đầu, học sinh i đứng vở vị trí thứ i trong hàng Mỗi học sinh i có hai giá trị đặc trưng là ai và bi Độ không hài lòng của học sinh i bằng tích của ai và số lượng học sinh đứng bên trái học sinh i cộng với tích của bi và số lượng học sinh đứng bên phải học sinh i Một cách tổng quát, nếu học sinh i đứng ở vị trí thứ j, độ không hài lòng của học sinh này là ai*(j−1)+b i(n−j); Hiệu trưởng giao cho bạn nhiệm vụ
là tìm một cách xếp hàng sao cho tổng độ không hài lòng của tất cả học sinh là nhỏ nhất
có thể
Dữ liệu: từ file CAU5.INP
+ Dòng đầu tiên chứa một số nguyên n (1≤n≤105) - số học sinh trong hàng đợi
+ Mỗi dòng trong n dòng sau chứa hai số nguyên ai và bi (1≤ai, bi ≤108) - hai giá trị đặc trưng của học sinh i
Kết quả: ghi ra file CAU5.OUT: một số nguyên duy nhất là tổng độ hài lòng nhỏ nhất
tìm được
Ví dụ:
Trang 3/4
CAU5.INP CAU5.OUT CAU5.INP CAU5.OUT
3
4 2
2 3
6 1
7 1
2 3
25
Trang 4Cán bộ coi thi không giải thích gì thêm.
Hết
-Trang 4/4