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 (170.21 KB, 4 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>Bộ giáo dục và Đào tạo</b>
<b>Tổng quan đề thi ngy th nht</b>
<b> Tên bài</b> <b> Tên chơng trình</b> <b>Tên file dữ liệu</b> <b>Tên file kết quả</b>
Bài 1
Bài 2
Bi 3
Palindrome l xõu ký t m nu đọc nó từ trái sang phải cũng nh từ phải sang trái ta đợc cùng một
xâu. Một xâu ký tự bất kỳ ln có thể biểu diễn nh là một dãy các palindrome nếu nh ta coi xâu chỉ
gồm một ký tự ln là palindrome.
VÝ dơ: X©u ‘bobseesanna’ có thể biểu diễn dới dạng dÃy các polindrome theo nhiều cách, chẳng hạn
bobseesanna = bob + sees + anna
bobseesanna = ‘bob’ + ‘s’ + ‘ee’ + ’s’ + ‘anna’
‘bobseesanna’ = ‘b’ +’o’ + ‘b’ + ‘sees’ + ‘a’ + n + n + a
<b>Yêu cầu: Cho xâu ký tự s, cần tìm cách biểu diễn xâu s dới dạng mét d·y gåm mét sè Ýt nhÊt c¸c</b>
palindrome.
VÝ dô: Cho s = ‘bobseesanna’, do ta cã ‘bobseesanna’ = bob + sees + anna và không thể biểu
diễn bobseesanna bởi ít hơn là 3 palindrome nên biểu diễn này chính là biểu diễn cần tìm.
<b>Dữ liệu: Vào từ file văn bản PALINDR.INP gồm một dòng chứa xâu ký tự s gồm không quá 255 ký</b>
tự.
<b>Kết quả: Đa ra file văn bản PALINDR.OUT:</b>
Dũng u tiờn ghi k l số lợng ít nhất các palindrome trong biểu diễn tìm đợc;
Dßng thø i trong sè k dßng tiÕp theo ghi palindrome p<i>i</i> (i = 1, 2, ..., k) sao cho s = p1p2...p<i>k.</i>
PALINDR.INP PALINDR.OUT PALINDR.INP PALINDR.OUT
bobseesanna 3
bob
sees
anna
aabbaaaabb 2
aa
bbaaaabb
Ghế ngồi trên sân vận động được chia thành từng lô, mỗi lô gồm <i>M</i> hàng đánh số từ 1 đến <i>M</i>, mỗi
hàng có <i>N</i> ghế đánh số từ 1 đến <i>N</i> từ trái qua phải (4 ≤ <i>M</i>, <i>N</i> ≤ 20). Ghế có 3 loại: màu trắng (W),
màu xanh (B) và màu đỏ (R). Theo thiết kế, mỗi lơ chỉ lắp ghế cùng một màu, nhưng v× không nắm
được thiết kế, bộ phận thi công đã lắp các ghế một cách ngẫu nhiên mà không quan tâm đến màu
của chúng. Do thời điểm khánh thành sân đã đến q gần, khơng có đủ thời gian để tháo dỡ lắp đặt
lại các ghế, nên người ta dùng một rơ bốt sơn trang trí để sơn lại các ghế. Rô bốt hoạt động theo
nguyên tắc sau:
Nếu hai ghế kề nhau trên cùng một hàng có màu khác nhau thì rơ bốt sẽ sơn lại cặp ghế này
bởi màu thứ ba.
Nếu hai hàng ghế kề nhau có màu khác nhau, nhưng ghế ở mỗi hàng là cùng màu, thì rơ bốt
sẽ sơn lại ghế của hai hàng này thành màu thứ ba, trong trường hợp này, có <i>N</i> cặp ghế được
sơn lại.
Dựa vào ảnh chụp tồn cảnh lơ ghế, Bạn được đề nghị cài đặt một chương trình điều khiển rơ bốt
hoạt động theo nguyên tắc đã nêu để sơn lại các ghế sao cho tất cả các ghế trong lơ có cùng một
màu đồng thời tổng số <i><b>lượt</b></i> cặp ghế phải sơn là càng ít càng tốt.
Ví dụ, với <i>M</i> = 4, <i>N</i> = 4 v bc tranh toàn cảnh của lô ghế là:
BBBR
BBBB
WWWW
WWWW
Có 10 lượt cặp ghế được rơ bốt sơn theo chương trình đ
BBBR
BBBB
WWWW
WWWW
BBWW
BBBB
WWWW
WWWW
BRRW
BBBB
WWWW
WWWW
BRBB
BBBB
WWWW
WWWW
<b>BWWB</b>
BBBB
WWWW
WWWW
RRWB
BBBB
<b>Dữ liệu</b>: Vào từ file văn bản PAINT.INP :
Dòng đầu tiên chứa 2 số nguyên <i>M N</i>,
<i>M</i> dòng sau mỗi dòng chứa một xâu <i>N</i> ký tự, mỗi ký tự là W, B hoặc R, dòng thứ <i>i</i>+1 thể
hiện màu các ghế trong hàng thứ <i>i</i>.
<b>Kết quả</b>: Đưa ra file văn bản PAINT.OUT:
Dòng đầu tiên chứa <i>k</i> là tổng số lượt cặp ghế phải sơn theo cách điều khiển tìm được.
Các dịng tiếp theo mơ tả cách điều khiển rơ bốt sơn ghế, mỗi dịng có một trong hai dạng
(tương ứng với hai nguyên tắc hoạt động của rô bốt) sau:
o Dạng 1: G <i>i j</i> cho biết rô bốt phải sơn cặp ghế (<i>j</i>, <i>j</i>+1) ở hàng ghế <i>i</i>;
o Dạng 2: H <i>i </i> cho biết rô bốt phải sơn các cặp ghế ở hai hàng <i>i</i> và <i>i</i>+1.
o Các ký tự và số trên cùng dịng phải được ghi cách nhau bởi dấu cách.
<b>Ví dụ</b>
PAINT.INP PAINT.OUT
4 4
BBBR
BBBB
WWWW
WWWW
10
G 1 3
G 1 2
G 1 3
G 1 2
G 1 1
G 1 3
H 1
các đường đi khép kín đó. Tập hợp các điểm du lịch và các đoạn đường cùng nằm trên một đường
đi khép kín kiểu như vậy tạo thành một Phân khu du lịch.
<b>Yêu cầu:</b> Hãy tìm một cách bổ sung thêm một số ít nhất các đoạn đường mới sao cho mỗi điểm du
<b>Dữ liệu: </b>Vào từ file văn bản ADDPATH.INP:
Dòng đầu tiên ghi <i>N</i> là số điểm du lịch của Vùng sinh thái (3 <i>N</i> 200),
Các dòng tiếp theo, mỗi dòng ghi cặp số nguyên tương ứnglà chỉ số của 2 điểm du lịch
được nối trực tiếp với nhau.
<b>Kết quả: </b>Đưa ra file văn bản ADDPATH.OUT:
Dòng đầu ghi số -1 nếu không tồn tại cách bổ sung các đoạn đường thoả mãn yêu cầu đặt ra,
ngược lại, ghi số <i>R</i> là số nhỏ nhất tìm được.
Dịng thứ <i>i</i> trong <i>R</i> dòng tiếp theo chứa hai số nguyên dương <i>ai, bi</i> là chỉ số 2 điểm du lịch
mà đoạn đường mới thứ <i>i</i> nối trực tiếp chúng với nhau.
<b>Ví dụ:</b>
ADDPATH.INP ADDPATH.OUT ADDPATH.INP ADDPATH.OUT
4
1 2
2 3
2 4
-1 7
1 2