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