Lý thuyết: Ngôn ngữ lập trình: Các thành phần cơ bản: chữ cái, cú pháp, hằng, biến, … Cấu trúc điều khiển: tuần tự, rẽ nhánh, lặp Cấu trúc dữ liệu: các kiểu dữ liệu chuẩn số nguyên
Trang 1NỘI DUNG ÔN TẬP ĐỘI TUYỂN HỌC SINH GIỎI TUẦN TỪ 24/2 ĐẾN 29/2/2020
MÔN: TIN HỌC
1 Lý thuyết:
Ngôn ngữ lập trình:
Các thành phần cơ bản: chữ cái, cú pháp, hằng, biến, …
Cấu trúc điều khiển: tuần tự, rẽ nhánh, lặp
Cấu trúc dữ liệu: các kiểu dữ liệu chuẩn (số nguyên, số thực, logic, kí tự), mảng (1 chiều, nhiều chiều), xâu
Kĩ thuật lập trình top down, chương trình con
Học thuật toán:
Khái niệm bài toán, thuật toán, biểu diễn thuật toán
Các bài tập cơ bản về số học, hệ đếm
Sắp xếp và tìm kiếm
Các thao tác xử lí cơ bản trên dãy số
Các thao tác xử lí trên xâu
2 Bài tập:
BÀI 1: XÓA S (XOASO.*)Ố
Cho s nguyên P, hai dãy các s nguyên Aố ố 1, A2, , AP; S1, S2, , SP S nguyên N đố ược thành l p b ng cách vi t s nguyên Sậ ằ ế ố 1 liên ti p Aế 1 l n, r i Sầ ồ 2 liên ti p Aế 2 l n, c ti pầ ứ ế
t c nh th v i Sụ ư ế ớ P.
Yêu c u: Xóa K ch s c a N đ thu đầ ữ ố ủ ể ượ ốc s bé nh t Nấ 1 Xóa K ch s c a N đữ ố ủ ể thu đượ ố ớc s l n nh t Nấ 2.
D liêu: t p văn b n XOASO.INPữ ệ ả
Dòng đ u tiên ch a 2 s P, Kầ ứ ố
P dòng ti p theo, dòng th i ch hai s Aế ứ ứ ố i và Si
K t qu : t p văn b n XOASO.OUTế ả ệ ả
Dòng 1 : ghi s Nố 1
Dòng 2 : ghi s Nố 2
Dòng 3 : ghi k t qu c a tích Nế ả ủ 1.N2
N u s N b xóa h t thì s thu đế ố ị ế ố ược sẽ là 0
3 4
2 2
1 543
3 1
2111 5431 11464841
Các s A ố i, Si đ u không quá 32000 P, K < 101. ề
Ghi chú: 40% test là các s N < 10 ố 9
Trang 2BÀI 2: FRIEND - K T B N (FRIEND.*)Ế Ạ
Theo quan ni m c a ngệ ủ ười Á Đông c , m i cá nhân khi sinh ra đ u ng v i m tổ ỗ ề ứ ớ ộ ngôi sao, được g i là sao chi u m nh Các ho t đ ng c a cá nhân đ u b chi ph i b iọ ế ệ ạ ộ ủ ề ị ố ở ngôi sao này, k c quá trình k t b n – h n hò Theo thuy t Âm dể ả ế ạ ẹ ế ương – Ngũ hành, hai
người ch có th t o l p m i quan h b n v ng khi các sao chi u m nh c a h khôngỉ ể ạ ậ ố ệ ề ữ ế ệ ủ ọ
có các thu c tính tộ ương kh c Qua hàng nghìn năm quan sát và chiêm nghi m, cácắ ệ chiêm tinh gia đã ghi nh n đậ ượ n sao và h u h t các tính ch t tc ầ ế ấ ương sinh – tương
kh c gi a chúng Đ có th nhanh chóng đáp ng nhu c u ki m tra đ tắ ữ ể ể ứ ầ ể ộ ương h p c aợ ủ các sao, hi p h i ệ ộ ABS (Association of Broker for Single) t o l p c s d li u ghi nh nạ ậ ơ ở ữ ệ ậ tính ch t c a t t c các sao đã kh o sát đấ ủ ấ ả ả ược Trong c s d li u này, các sao đơ ở ữ ệ ược đánh s t 1 t i ố ừ ớ n; sao th ứ i có m t giá tr ộ ị si th hi n kh năng thích nghi c a sao g iể ệ ả ủ ọ
là đ thích nghi Hai sao khác nhau có th có cùng đ thích nghi Thông qua đ thíchộ ể ộ ộ nghi c a các sao, ngủ ười ta xác đ nh kh năng tị ả ương h p c a chúng Kh năng tợ ủ ả ương
h p c a 2 sao đợ ủ ược tính b ng t ng 2 đ thích nghi c a chúng ằ ổ ộ ủ
Bài toán: Cho s nguyên dố ương n, dãy s1, s2, …, sn là đ thích nghi c a các sao và sộ ủ ố
nguyên B Hãy xác đ nh s lị ố ượng các c p sao (ặ i, j) v i ớ i < j và si + sj = B
Ví dụ: trong 5 sao v i đ thích nghi 3, 5, 6, 5, 3 có 4 c p có kh năng tớ ộ ặ ả ương h p b ngợ ằ 8
D li u: ữ ệ vào t t p văn b n FRIEND.INP:ừ ệ ả
Dòng đ u tiên ghi 2 s nguyên ầ ố n, B (2 ≤ n ≤ 105, |B| ≤ 109),
M i dòng trong ỗ n dòng ti p theo ghi m t s nguyên là đ thích nghi c a m tế ộ ố ộ ủ ộ sao, đ thích nghi có tr tuy t đ i bé h n 2ộ ị ệ ố ơ 15
Hai s trên cùng dòng cách nhau ít nh t m t d u cách.ố ấ ộ ấ
K t qu : ế ả Đ a ra t p văn b n FRIEND.OUTư ệ ả
M t s nguyên – s lộ ố ố ượng c p sao có đ tặ ộ ương h p ợ B tìm được
Ví dụ:
FRIEND.INP FRIEND.OUT
5 8 3 5 6 5 3
4
L u ý: ư Có 50% s test có ố n không quá 1000 Gi i đúng các test này, thí sinh đả ược không ít h n 50% s đi m t i đa cho toàn b bài toán.ơ ố ể ố ộ
BÀI 3: ĐOÁN S (SQUARES.*)Ố
B m và Cu i ch i trò đoán s B m t ch n hai s nguyên ờ ộ ơ ố ờ ự ọ ố , r iồ cho Cu i bi t chênh l ch c a bình phộ ế ệ ủ ương hai s đó là ố Cu i phài tìm ra hai s đóộ ố
Trang 3Vi c tìm ra m t c p s th a mãn tính ch t trên không khó, nh ng vì có th có nhi uệ ộ ặ ố ỏ ấ ư ể ề nghi m nên có th B m sẽ ch i không nh n c p s mà Cu i đ a ra là c p s c u taệ ể ờ ố ậ ặ ố ộ ư ặ ố ậ
ch n Vì th , Cu i mu n nh b n xác đ nh s c p s có th là nghi m.ọ ế ộ ố ờ ạ ị ố ặ ố ể ệ
D li u: ữ ệ t p tinậ văn b n squares.inpả
Dòng 1: s nguyên Nố
K t qu : ế ả t p tinậ văn b n squares.outả
Dòng 1: s nguyên là s c p s có th ch nố ố ặ ố ể ọ
Ví dụ
squares.inp squares.out
BÀI 4: MAY M N (LUCKY.*)Ắ
T th i xa x a, ngừ ờ ư ười ta đã có nh ng quan ni m v các con s mang l i may m n.ữ ệ ề ố ạ ắ
V i ông Mê Tín, s may m n là các s chính phớ ố ắ ố ương Trong năm nay, ông mu n ch nố ọ mua m t khu đ t m t độ ấ ặ ường đ m công ty V i mong mu n vi c kinh doanh để ở ớ ố ệ ược thu n bu m xuôi gió, ông Mê Tín mu n ch n ra m t v trí ô đ t đ p đ mua.ậ ồ ố ọ ộ ị ấ ẹ ể
Trên con đường mà ông Mê Tín mua đ t có n cái cây và m t v trí ô đ t đấ ộ ị ấ ược cho là may m n n u nh t n t i m t cái cây sao cho kho ng cách gi a ô đ t đắ ế ư ồ ạ ộ ả ữ ấ ược ch n vàọ cái cây đó là m t s chính phộ ố ương Vì có nhi u phề ương án mua đ t đấ ược ch n nênọ ông Mê Tín mu n b n cho ông bi t nh ng ô đ t nào là ô đ t may m n.ố ạ ế ữ ấ ấ ắ
Vì con đường mà ông Mê Tín ch n mua đ t là m t đọ ấ ộ ường th ng nên ta sẽ ch n m tắ ọ ộ
đi m làm g c và khi đó v trí c a m i ô đ t và m i cái cây để ố ị ủ ỗ ấ ỗ ược xác đ nh b i m t s làị ở ộ ố
t a đ c a nó.ọ ộ ủ
V i m i v trí ô đ t có th đớ ỗ ị ấ ể ược ch n mua, b n hãy ghi ra k t qu là ô đ t đó cóọ ạ ế ả ấ
ph i là ô đ t may m n hay không.ả ấ ắ
D li u: ữ ệ t p văn b n ệ ả LUCKY.INP nh sau:ư
Dòng th nh t ghi 2 s nguyên n và m l n lứ ấ ố ầ ượt là s cây và s ô đ t c n xemố ố ấ ầ xét ( 1 ≤ n ≤ 100000 ; 0 ≤ m ≤ 1000 )
Ti p theo là n dòng, m i dòng ghi t a đ c a m t cái cây.ế ỗ ọ ộ ủ ộ
Cu i cùng là m dòng, m i dòng ghi t a đ c a m t ô đ t.ố ỗ ọ ộ ủ ộ ấ
(Các t a đ là các s nguyên có giá tr tuy t đ i không l n h n 10ọ ộ ố ị ệ ố ớ ơ 9)
K t qu : ế ả t p văn b n ệ ả LUCKY.OUT g m m dòng, m i dòng ghi m t s 1 / 0 có nghĩa làồ ỗ ộ ố
ô đ t tấ ương ng trong file input là ô đ t may m n / không là ô đ t may m n.ứ ấ ắ ấ ắ
Ví dụ:
3 3 1 2 5 -1 3
0 1 0
Trang 4BÀI 5: Đ CAO S NGUYÊN T (HPRIMES.*)Ộ Ố Ố
Đ cao c a m t s t nhiên là t ng các ch s c a s đó V i m i c p s t nhiên n vàộ ủ ộ ố ự ổ ữ ố ủ ố ớ ỗ ặ ố ự
h cho trước hãy li t kê các s nguyên t không vệ ố ố ượt quá n và có đ cao h, 10 ộ n 1000000; 1 h 54
D liêu ữ : t p văn b n hprimes.inpệ ả
Ch a 2 s n và h trên 1 dòngứ ố
K t qu ế ả: t p văn b n hprimes.out, in m i dòng m t s theo th t tăng d n, dòng ệ ả ỗ ộ ố ứ ự ầ
cu i cùng ghi s lố ố ượng tìm được
hprimes.inp hprimes.out
97 277 349 367 439 547 619 673 691 709 727 853 907 15 BÀI 6: HOÁN V XÂU (FINDSTR.*)Ị
Cho xâu S g m N kí t t o thành t các ch cái ‘a’, ,’z’ ồ ự ạ ừ ữ Ta g i S là xâu m u T xâu m uọ ẫ ừ ẫ
S này, ta t o ra N xâu th c p b ng cách d ch xâu S qua trái i v trí theo d ng vòng tròn,ạ ứ ấ ằ ị ị ạ
t c là i kí t đ u xâu l n lứ ự ầ ầ ượ ượt đ c d ch chuy n v cu i xâu, v i i = 0, 1,…, n-1 Khi đóị ể ề ố ớ xâu th c p i=0 sẽ trùng v i xâu m u S Gi s ta đã s p tăng N xâu thu đứ ấ ớ ẫ ả ử ắ ược theo tr tậ
t t đi n Hãy tìm xâu th k trong dãyự ừ ể ứ
D li u ữ ệ : t p văn b n ệ ả FINDSTR.INP
Dòng th nh t ch a 2 s t nhiên N và k cách nhau m t d u cách, v i N là chi uứ ấ ứ ố ự ộ ấ ớ ề dài xâu S, k cho bi t v trí c a xâu th c p trong dãy đế ị ủ ứ ấ ược tăng theo th t tứ ự ừ
đi n V i 6ể ớ N 500 , 1k N
Trang 5K t qu ế ả: t p văn b n FINDSTR.OUT ệ ả
Ch g m m t dòng duy nh t ch a xâu th ỉ ồ ộ ấ ứ ứ k trong dãy đượ ắc s p
Ghi chú: 60% test có n < 255
BÀI 7: S NGUYÊN T CÙNG BIT 1 (BPRIMES.*)Ố Ố
V i m i n và h cho tr ớ ỗ ướ c hãy cho bi t có bao nhiêu s nguyên t không v ế ố ố ượ t quá n
và d ng nh phân ch a đúng h bit 1, 10 ở ạ ị ứ n 10 7 ; 1 h 64.
D li u ữ ệ : T p tin văn b n bprimes.inpậ ả
M t dòng duy nh t ch a s n và h cách nhau b i kí t tr ngộ ấ ứ ố ở ự ắ
K t qu ế ả: T p tin văn b n bprime.outậ ả
Một số duy nhất là số kết quả tìm được
bprimes.inp bprimes.out
Gi i thích ả
Có 7 s nguyên t trong kho ng 1 100 ố ố ả ch a đúng h = 4 bit 1 Đó là 23 = 10111 ứ 2 ; 29 =
111012 ; 43 = 1010112 ; 53 = 1101012; 71 =10001112; 83 = 10100112 ; 89 =10110012.
GIÁO VIÊN BỘ MÔN
Nguyễn Thị Thu Trang
FINDSTR.INP FINDSTR.OUT
6 3