SỞ GIÁO DỤC VÀ ĐÀO TẠOHÀ TĨNH
(Đề thi có 02 trang, gồm 03 bài)
KỲ THI CHỌN ĐỘI TUYỂN DỰ THIHỌC SINH GIỎI QUỐC GIA LỚP 12 THPT
NĂM HỌC 2012-2013MÔN THI: TIN HỌC - Vòng 2
Thời gian: 180 phút (không kể thời gian giao đề)
Ngày thi thứ hai: 22/09/2012
TỔNG QUAN NGÀY THI THỨ HAI
Tên bàiFile chương trìnhFile dữ liệu vàoFile kết quả
Bài 3Quà Tết Trung thuTIMQUA.PASTIMQUA.INPTIMQUA.OUTHãy sử dụng ngôn ngữ lập trình pascal hoặc free pascal lập trình giải các bái toán sau:
Bài 1 (6 điểm) Từ chuẩn
Một từ loại M là một dãy các chữ số, mỗi chữ số nằm trong khoảng từ 1 đến M Số lượng cácchữ số có mặt trong một từ được gọi là chiều dài của từ đó Từ loại M được gọi là từ chuẩn nếunó không chứa hai khúc (từ con) liền nhau mà giống nhau.
Ví dụ:
12131231 là từ chuẩn loại 3, chiều dài 8.
12132131 không phải là từ chuẩn vì nó chứa liên tiếp hai từ con giống nhau là 213 Tương tự, 12332 không phải là từ chuẩn vì chứa liên tiếp hai từ con giống nhau là 3.
Yêu cầu: Với mỗi giá trị N và M cho trước, tìm và ghi vào tệp văn bản tên TUCHUAN.OUT
một từ chuẩn loại M có chiều dài N
Dữ liệu: Vào từ file văn bản TUCHUAN.INP gồm 2 số nguyên dương N và M (M < N, 1 ≤ N
≤ 10000) được ghi trên một dòng, mỗi số cách nhau ít nhất là một ký tự trống.
Kết quả: Ghi ra file văn bản TUCHUAN.OUT một dòng chứa một từ chuẩn.Ví dụ:
Bài 2 (7 điểm) Tìm mật khẩu
Việc bảo vệ máy tính của mình để hạn chế người khác thâm nhập vào là một vấn đề đặt ra chomọi nguời sử dụng máy tính Để tăng tính an toàn trong lưu trữ, một nguời đã quyết định dấumật khẩu truy cập máy tính của mình vào một xâu T với một quy ước sao cho khi cần anh ta cóthể lấy lại đuợc mật khẩu từ T như sau:
Là một người yêu thích số học anh ta thường chọn mật khẩu P là một số nguyên tố và đem dấuvào một xâu ký tự T sao cho P chính là số nguyên tố có giá trị lớn nhất trong số các số nguyên
ĐỀ THI CHÍNH THỨC
Trang 2tố tạo được từ các xâu con của T (xâu con của một xâu ký tự T là một chuỗi liên tiếp các ký tựtrong T).
Ví dụ: xâu T= “timpassword232432fsdgd45435dsfdsf” chứa mật khẩu là 43 vì T chứa các xâucon ứng với các số nguyên tố 2, 3, 23, 43, và 5.
Yêu cầu: Cho một xâu ký tự T chiều dài không quá 250 ký tự Tìm mật khẩu P đã dấu trong
xâu T biết P có giá trị nhỏ hơn 105 Dữ liệu cho đảm bảo T chứa ít nhất 1 số nguyên tố
Dữ liệu: Vào từ file văn bản PASSWORD.INP gồm 1 dòng duy nhất là xâu T Kết quả: Ghi ra file văn bản PASSWORD.OUT chứa số P tìm được.
Ví dụ:
timpassword232432fsdgd45435dsfdsf 43
Bài 3 (7 điểm) Quà Tết Trung thu
Để vui Tết Trung thu cho các cháu ban tổ chức thành phố X quyết định phát quà cho mỗi cháubằng cách tổ chức một trò chơi trên lưới ô vuông như sau:
Vẽ một hình chữ nhật kích thước M x N ô vuông, Các dòng được đánh số từ 1 đến M, các cộtđược đánh số từ 1 đến N (các số được đánh từ trên xuống dưới và từ trái sang phải) mỗi ô nằmtrên giao của dòng i và cột j được gọi là ô (i,j) ghi một số nguyên dương A[i,j], (1 ≤ i ≤ M, 1 ≤j ≤ N) chính là số món quà trên ô đó Có thể di chuyển từ một ô sang ô thuộc cột bên phải cùngdòng hoặc chênh lệch một dòng
Yêu cầu: Tìm cách giúp các cháu di chuyển từ một ô nào đó của cột bên trái (cột xuất phát)
đến một ô nào đó thuộc cột N (cột đích) sao cho tổng các số của ô đi qua là lớn nhất vì đóchính là tổng số món quà mà các cháu được nhận.
Dữ liệu: Vào từ file văn bản TIMQUA.INP dòng đầu tiên là 2 số nguyên dương M, N (M, N ≤ 100).
M dòng tiếp theo mỗi dòng N số nguyên A[i,j] (0 ≤ A[i,j] ≤ 50) của hình chữ nhật.
Kết quả: Ghi ra file văn bản TIMQUA.OUT gồm 2 dòng:
- Dòng thứ nhất ghi tổng các số của các ô đi qua.
- Dòng thứ hai ghi N số là chỉ số dòng các ô đi qua từ cột 1 đến cột N.
2 3 3 2 1
Trang 3SỞ GIÁO DỤC VÀ ĐÀO TẠO
HÀ TĨNHHỌC SINH GIỎI QUỐC GIA LỚP 12 THPTKỲ THI CHỌN ĐỘI TUYỂN DỰ THINĂM HỌC 2012-2013
MÔN THI: TIN HỌC - Vòng 2
HƯỚNG DẪN CHẤM VÒNG 2
Tên bàiFile chương trìnhFile dữ liệu vàoFile kết quả
Tất cả các bài đều chấm bằng bộ test, mỗi bộ test đúng được một điểm Nếu không chạy được chươngtrình thì căn cứ vào bài làm của học sinh để cho điểm nhưng tối đa không quá 2 điểm trên bài.
- Bài 1: 6 test 6 điểm.- Bài 2: 7 test 7 điểm.- Bài 3: 7 test 7 điểm.
Hướng dẫn chương trình tham khảo
Bài 1 (6 điểm) Từ chuẩn
Ta dùng mảng v[1 n] để lưu từ cần tìm Tại mỗi bước i ta xác định giá trị v[i] trong khoảng 1 msao cho v[1 i] là từ chuẩn.
Điều kiện P: v[1 i] là từ chuẩn.
Điều kiện Q: Dừng thuật toán theo một trong hai tình huống sau đây: nếu i = n thì bài toán có nghiệm v[1 n]
nếu i = 0 thì bài toán vô nghiệm.
nhau thì Chuan=true Ngược lại, Chuan = false.
Hàm Bang(i,k) kiểm tra xem hai từ kề nhau chiều dài k tính từ i trở về trước có bằng nhau hay
Hai từ được xem là khác nhau nếu chúng khác nhau tại một vị trí nào đó
Bài 2 (7 điểm) Tìm mật khẩu
Ta duyệt qua tất cả các xâu con của xâu T mà có thể tạo thành một số và kiểm tra số đó có phải sốnguyên tố hay không.
Để duyệt qua các xâu con, ta duyệt qua vị trí đầu:
for i:=1 to length(t) do {i là vị trí đầu của xâu con}
Trang 4Với mỗi vị trí đầu i, ta duyệt qua vị trí cuối của xâu con:j:=i;
while (j<=length(t)) dobegin
Có hai điều kiện để ta dừng quá trình duyệt một xâu con với vị trí đầu là i: Gặp một ký tự không phải chữ số:
Bài 3 (7 điểm) Quà Tết Trung thu
Giả sử các số cho trong mảng A[1 M,1 N] Dùng mảng B[1 M,1 N] để xây dựng nhãn cho từngô theo công thức truy hồi F[i,j] có giá trị bằng tổng các số trên các ô đi qua theo con đường tốt nhất từmột ô thích hợp thuộc cột 1 đến ô (i,j) thuộc dòng i cột j
Nhãn của các ô thuộc cột 1 bằng chính giá trị các ô đó Các ô còn lại, lần lượt từ cột 2 đến cột nđược xây dựng theo công thức truy hồi sau:
B[i,k]Max{B[i1,k1],B[i,k 1],B[i1,k1]}A[i,k]
Ngoài ra, dùng mảng hai chiều T[1 M,1 N] để ghi lại chỉ số dòng của ô thuộc cột j-1 đi tới ô (i,j)và mảng một chiều KQ[1 N] để ghi lại chỉ số dòng của các ô đi qua từ cột 1 đến cột n trong phươngán tối ưu.
Hoặc sau khi tạo ra mảng B, ta tìm phần tử Max trên cột N, từ phần tử này truy vết về những phầntử thuộc dòng N-1, N-2,… về đến phần tử thuộc cột xuất phát (cột 1).
Cũng lưu ý rằng có thể không cần dùng mảng B[1 M,1 N] bằng cách ghi giá trị của B[1 M,1 N] đè dần lên mảng A[1 M,1 N] bắt đầu từ cột 2 đến cột N.