TỈNH ĐOÀN BÌNHĐỊNH HỘI THI TINHỌCTRẺ KHÔNG CHUYÊN LẦN THỨ VIII – NĂM 2002 Bảng C: TRUNG HỌC PHỔ THÔNG Thời gian làm bài: 180 phút Bài 1: (6 điểm) Mã hoá xâu kí tự Cho trước khoá là một hoán vị của N số 1, 2, 3, …, N. Khi đó để mã hoá một xâu kí tự ta có thể chia xâu thành từng nhóm N kí tự (riêng nhóm cuối cùng nếu không đủ N kí tự thì ta có thể thêm các dấu cách vào cho đủ) rồi hoán vị các kí tự trong từng nhóm. Trong xâu đã mã hoá, dấu cách được thay bằng kí tự “_” (gạch dưới). Chẳng hạn với khoá 3241 thì ta có thể mã hoá xâu “BINHDINH” thành “NIHBNIHD”. Yêu cầu: Hãy viết chương trình thực hiện các yêu cầu: 1. Cho xâu nguồn, tìm xâu đã được mã hoá. 2. Cho xâu mã hoá, tìm xâu nguồn. Dữ liệu vào: Cho trong file văn bản BAI1.INP – Dòng đầu tiên: cho mã khoá – Các dòng tiếp theo: số k (k=1, 2) đầu tiên cho biết loại yêu cầu. Tiếp theo là xâu kí tự tương ứng (mỗi xâu viết trên 1 dòng) Dữ liệu ra: Ghi vào file BAI1.OUT – Ghi lần lượt các xâu kết quả tương ứng với các yêu cầu – Mỗi xâu ghi trên 1 dòng. Ví dụ: BAI1.INP BAI1.OUT 3241 1 BINHDINH NIHBNIHD 2 NIHBNIHD BINHDINH Bài 2: (6 điểm) Dãy con tăng Cho dãy gồm N số nguyên A(i) (N>=2). Hãy tìm cách bỏ bớt một số phần tử của dãy để được một dãy con tăng dài nhất (dãy con phải có ít nhất 2 phần tử và đảm bảo thứ tự của các phần tử trong dãy). Yêu câu: Tìm dãy con tăng dài nhất hoặc thông báo “không có” Dữ liệu vào: – Nhập từ bàn phím số N – Sinh ngẫu nhiên dãy A(i) Dữ liệu ra: In ra màn hình dãy A(i) và dãy con tăng dài nhất (hoặc “không có”). Ví dụ: – N=7 dãy A(i): 2 5 3 6 4 7 8 – Kết quả: 2 5 6 7 8 Bài 3: (8 điểm) Robot nhảy Một con Robot chỉ thực hiện được 2 thao tác: T và L. Thao tác T: nhảy tới P bước. Thao tác L: lùi lại Q bước (P, Q nguyên). Một đường đi được đánh số các bước từ 0 đến N. Con Robot đang ở vị trí được đánh số là K, muốn đi đến vị trí có số N cần phải thực hiện một dãy các thao tác T và L. Yêu cầu: Với N, P, Q, K cho trước (0 < N ≤ 20000, 0 < P, Q < N, 0 ≤ K ≤ N), hãy chỉ ra một dãy các thao tác T và L để đưa con Robot từ vị trí có số K đến vị trí có số N hoặc cho biết “không đi được”. Dữ liệu vào: Cho trong file văn bản BAI3.INP, gồm nhiều dòng, mỗi dòng là một dãy các số N, P, Q, K (mỗi số cách nhau ít nhất 1 dấu cách) Dữ liệu ra: Ghi vào file BAI3.OUT, gồm các dòng ghi kết quả tương ứng với các dòng dữ liệu vào. Ví dụ: BAI3.INP BAI3.OUT 6 3 2 2 TLT 6 5 3 2 không đi được ––––––––––––––––––––––––––––––––––––––––––––––– . TỈNH ĐOÀN BÌNH ĐỊNH HỘI THI TIN H C TRẺ KHÔNG CHUYÊN LẦN THỨ VIII – NĂM 2002 Bảng C: TRUNG H C PHỔ THÔNG Thời gian làm bài: 180 phút Bài 1: (6. ta c thể thêm c c dấu c ch vào cho đủ) rồi hoán vị c c kí tự trong từng nhóm. Trong xâu đã mã hoá, dấu c ch đư c thay bằng kí tự “_” (gạch dưới). Chẳng