KỲ THI HỌC SINH GIỎI THÀNH PHỐ - NĂM HỌC 2000-2001
Môn : TIN HỌC TRUNG HỌC CƠ SỞ
(Thời gian : 150 phút – không kể phát đề)
BÀI 1 : BÀI TOÁN MA TRẬN
Người ta tạo một ma trận số nguyên 3 x 3 ( bảng số gồm 3 dòng và 3 cột), sau đó sắp
xếp lại ma trận theo một số phép biến đổi ma trận cho trước.
Các số hạng của ma trận hình thành từ trái sang phải, từ trên xuống dưới lần lượt từ
số các số 1, 2, 3, 4, 5, 6, 7, 8, 9 xuất hiện trong dãy số u
n
cho trước (xem ví dụ).
Các phép biến đổi ma trận qui ước như sau:
Phép biến đổi 1 : Thay các số hạng của hàng 2 bằng số hạng của hàng 2 cộng 2 lần
số hạng cùng cột của hàng 1
Phép biến đổi 2 : Thay các số hạng của hàng 3 bằng số hạng của hàng 3 cộng 2 lần
số hạng cùng cột của hàng 2
Phép biến đổi 3 : Thay các số hạng của cột 2 bằng số hạng của cột 2 cộng 2 lần số
hạng cùng hàng của cột 1
Phép biến đổi 4 : Thay các số hạng của cột 3 bằng số hạng của cột 3 cộng 2 lần số
hạng cùng hàng của cột 2
Ví dụ : Xem ma trận ở giữa và các phép biến đổi ma trận tương ứng:
1 2 3
4 5 6
15 18 21
1 2 3
6 9 12
7 8 9
P1
1 4 3
4 13 6
7 22 9
P2
P3
1 2 3
4 5 6
7 8 9
1 2 7
4 5 16
7 8 25
P4
ĐỀ CHÍNH THỨC
Hãy lập trình để tạo ma trận ban đầu và tìm ma trận kết quả cuối cùng sau khi thực
hiện lần lượt các phép biến đổi. Phép biến đổi sau thực hiện trên ma trận kết quả của
phép biến đổi trước đó.
Dữ liệu vào :
Dữ liệu vào được lưu trên tập tin văn bản MATRIX.IN (hoặc nhập từ bàn phím)
gồm hai dòng :
- Dòng đầu tiên ghi một số con số 1, 2, 3, 4 cách nhau một khoảng trắng. Mỗi số
tương ứng một phép biến đổi ma trận;
- Dòng tiếp theo ghi các số hạng của một dãy số u
n
gồm nhiều số 1,2,3,4,5,6,7,8,9
( không quá 1000 số ) cách nhau một khoảng trắng.
Dữ liệu ra:
Dữ liệu ra được lưu trên tập tin MATRIX.OUT (hoặc xuất ra màn hình) gồm 6 dòng
ghi các số hạng của ma trận 3 x 3 ban đầu sau khi hình thành theo qui tắc trên và ma
trận kết quả sau khi lần lượt duyệt qua hết tất cả các phép biến đổi ma trận .
Ví dụ: MATRIX.IN ( hoặc nhập từ bàn phím)
1 2 4 3 1
9 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 4 4 4 4 4 6 6 6 6 6 6 6 5 5 5 5 5 5 3 3 3 3 2 2 2 1 1
( trong dãy này có 2 số 1; 3 số 2; 4 số 3; 5 số 4; 6 số 5; 7 số 6; 8 số 7; 9 số 8; 1 số 9 )
Kết quả MATRIX.OUT ( hoặc xuất ra màn hình )
BÀI 2: BÀI TOÁN KHOẢNG CÁCH
Giả sử có 2 điểm A(x
1
;
y
1
) và B (x
2
; y
2
). Khoảng cách hai điểm A và B cho bởi công
thức
Cho tọa độ của n điểm trên mặt phẳng tọa độ. Người ta muốn biết những cặp điểm
nào có khoảng cách lớn nhất.
Nhiệm vụ
Lập trình cho biết toạ độ những cặp điểm có khoảng cách lớn nhất và tính khoảng
cách đó.
Dữ liệu vào : Dữ liệu vào được lưu trên tập tin văn bản KHCACH.INP (hoặc nhập
từ bàn phím) gồm nhiều dòng.
2 7 10
13 44 59
26 85 97
2 3 4
5 6 7
8 9 1
+ Dòng đầu tiên : số n ( n<100);
+ n dòng còn lại, mỗi dòng ghi hai số nguyên lần lượt ứng với hoành độ và tung độ
của từng điểm.
Dữ liệu ra : Dữ liệu ra được lưu trên tập tin văn bản KHCACH.OUT (hoặc xuất ra
màn hình) gồm nhiều dòng :
- - Dòng thứ nhất ghi khoảng cách lớn nhất ( làm tròn hai số lẻ thập phân );
- - Các dòng còn lại ghi toạ độ từng cặp điểm tương ứng.
Ví dụ :
KHCACH.INP( hoặc nhập từ bàn phím)
7
-5 -5
-2 -1
11 -1
12 -5
-5 3
-4 9
9 11
KHCACH.OUT ( hoặc xuất ra màn hình )
21.26
-5 -5 9 11
-4 9 12 -5
Trong ví dụ này có hai cặp điểm (-5,-5) (9,11) và ( -4,9) (12, -5) có cùng koảng cách
là 21.26 là khoảng cách lớn nhất giữa các cặp điểm trên.
Yêu cầu kó thuật :
Các bài làm của thí sinh lưu trên các tập tin có tên lần lược là Bai1.pas và Bai2.pas
+ Khuyến khích học sinh làm bài theo cách : dữ liệu vào và dữ liệu ra lưu trên các
tập tin.
HẾT