KÕt qu¶: Ghi ra file v¨n b¶n MAP.OUT gåm mét dßng chøa tæng sè ®iÓm mµu trong h×nh ch÷ nhËt t×m ®îc.. VÝ dô:.[r]
Trang 1Bộ giáo dục và Đà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: 4-5-2002 Tổng quan đề thi ngày thứ nhất Tên bài Tên chơng trình Tên file dữ liệu Tên file kết quả
Bài 2 Phủ lớn nhất COVER.PAS COVER.INP COVER.OUT Bài 3 Phơng trình xâu EQUA.PAS EQUA.INP EQUA.OUT
Hãy lập trình giải các bài toán sau đây:
Bài 1 Bản đồ
Trên các đối tợng bản đồ ngời ta thờng phải tìm một hình chữ nhật đủ lớn để ghi các chú giải Giả thiết, một tấm bản đồ đợc biểu diễn nh một hình chữ nhật có các dòng điểm dài bằng nhau và chứa không quá 70 điểm Số dòng có thể đạt đến 100000 Mỗi điểm màu của bản đồ đợc biểu diễn bằng các chữ cái HOA từ 'A' đến 'Z' hoặc thờng từ 'a' đến 'z' (có phân biệt giữa chữ HOA và chữ thờng) và có toạ độ dòng và cột Các dòng đợc
đánh số lần lợt từ trên xuống, bắt đầu từ 1; các cột đợc đánh số lần lợt từ trái sang phải, bắt đầu từ 1
Yêu cầu: Tìm một hình chữ nhật đồng màu có tổng số điểm lớn nhất chứa điểm có tọa độ
dòng i, cột j cho trớc.
Dữ liệu: Vào từ file văn bản MAP.INP:
Dòng đầu chứa hai số i và j là tọa độ dòng và cột của điểm cho trớc.
Tiếp đến là các dòng điểm của bản đồ
Kết quả: Ghi ra file văn bản MAP.OUT gồm một dòng chứa tổng số điểm màu trong
hình chữ nhật tìm đợc
Ví dụ:
4 12
aaaaaaaaaaaaaaaaaaaaaaaa
abbbbbbbbbbcccccccddddda
abbbccccccccccccddddddda
abbbbbccccccccxxxxxooooa
acccccccccccccccccxxxxxa
accbbbbbbbccccccbbbbbbba
aaaaaaaaaaaaaaaaaaaaaaaa
24
Bài 2 Phủ lớn nhất
Cho một lới ô vuông gồm 2m dòng và n cột Các dòng đợc đánh số từ 1 đến 2m, từ trên xuống dới Các cột đợc đánh số từ 1 đến n, từ trái qua phải Trên mỗi ô (i, j) (nằm trên giao của dòng i cột j) của lới có ghi một số nguyên dơng a ij (a ij 100), i = 1, 2, ,
m; j = 1, 2, , n Ta gọi một cách phủ lới là một cách đặt mn quân bài đôminô (có dạng
một hình chữ nhật gồm 2 ô vuông) lên lới sao cho mỗi ô của lới đợc phủ bởi một quân bài và mỗi quân bài phủ đúng 2 ô của lới Dễ thấy, do số dòng của lới là số chẵn nên luôn tồn tại cách phủ Khi đặt một quân bài phủ hai ô của lới ta thu đợc một số điểm bằng tích của hai số viết trên hai ô vuông đó
Đề Chính thức
Trang 2Yêu cầu: Tìm cách phủ lới với tổng số điểm thu đợc là lớn nhất.
Dữ liệu: Vào từ file văn bản COVER.INP:
Dòng đầu ghi hai số nguyên dơng m, n (m 10, n 20);
Dòng thứ i trong số 2m dòng tiếp theo ghi n số nguyên dơng a i1 , a i2 , , a in ; i
= 1, 2, , 2m.
Các số cùng dòng cách nhau bởi dấu cách
Kết quả: Ghi ra file văn bản COVER.OUT:
Dòng đầu ghi số nguyên dơng S là tổng số điểm theo cách phủ tìm đợc;
Mỗi dòng trong số mn dòng tiếp theo ghi hai cặp toạ độ của hai ô của lới đợc
phủ bởi một quân bài đôminô trong cách phủ tìm đợc
Ví dụ:
COVER.INP COVER.OUT Hình minh hoạ
2 3
1 5 1
1 11 4
2 1 10
2 1 2
85
1 1 2 1
1 2 2 2
1 3 2 3
3 1 4 1
3 2 4 2
3 3 4 3
Trang 3Bài 3 Phơng trình xâu
Xét tập các xâu khác rỗng gồm các chữ cái La tinh thờng từ ‘a’ đến ‘z’ Trên tập này
xác định hai phép toán hai ngôi:
Phép cộng (kí hiệu là +): Nếu và là hai xâu của tập thì + là xâu nhận đợc bằng cách ghép xâu vào sau xâu
Phép nhân (kí hiệu là *): Nếu và là hai xâu của tập thì * là xâu nhận
đợc bằng cách chèn xâu vào sau mỗi kí tự của
Ví dụ, =‘net’ và =‘meeting’ thì + = ‘netmeeting’
=‘abcd’ và =‘efg’ thì *=‘aefgbefgcefgdefg’
Kí hiệu F(?) là biểu thức gồm các xâu thuộc tập và kí tự ‘?’ liên kết với nhau bằng các phép cộng và phép nhân, S là một xâu thuộc tập Khi đó F(?)=S là một phơng trình với
ẩn là một xâu thuộc , kí hiệu bởi ? Trong F(?) các phép toán đợc thực hiện từ trái sang phải, không có sự u tiên phép toán và không có các dấu ngoặc làm thay đổi trình tự thực hiện các phép toán Các xâu là toán hạng trong phơng trình cũng nh xâu nghiệm đều phải thuộc tập
Ví dụ, phơng trình ?+ac*?=yyzzyzayzcyz có nghiệm ?=yz
Yêu cầu: Cho phơng trình F(?)=S, hãy tìm nghiệm ?, biết rằng phơng trình có nghiệm.
Vế trái của phơng trình có ít nhất một kí tự ?, không chứa dấu cách và gồm không quá
20000 kí tự, S là xâu không quá 20000 kí tự, xâu nghiệm không quá 255 ký tự
Dữ liệu: Vào từ file văn bản EQUA.INP gồm một dòng chứa phơng trình F(?)=S.
Kết quả: Ghi ra file văn bản EQUA.OUT gồm một dòng chứa nghiệm của phơng trình.
Ví dụ: