K dòng sau: mỗi dòng chứa 3 số nguyên I J M, trong đó I, J - toạ độ dòng, cột của phần tử ở góc trên trái của hình vuông la tinh con kích thước M.. (Các dòng và cột của hình vuông la[r]
Trang 1Hải phòng
Hội TIN HọC VIệT NAM
OLYMPIC TIN HọC SINH VIêN LầN THứ XIII, 2004
Khối thi: Siêu cúp
Thời gian l m b i: 180 phút àm bài: 180 phút àm bài: 180 phút
Ng y thi: 08-05-2004 ày thi: 08-05-2004
Nơi thi: Đại học Hàng hải
chơng trình
Tên file dữ liệu
Tên file kết quả
Hạn chế thời gian cho mỗi test
Tổng điểm cho bài
Dấu ??? đợc thay thế bởi đuôi ngầm định của ngôn ngữ đợc sử dụng để cài đặt chơng trình
Hãy lập trình giải các bài sau đây:
Bài 1 Hình vuông la tinh
Hỡnh vuụng la tinh cấp N là bảng vuụng gồm NN số được xếp thành N dũng và N cột sao cho mỗi dũng và mỗi cột đều là một hoỏn vị của cỏc số tự nhiờn 1, 2, , N Cho là một hỡnh vuụng la tinh cấp N Một hỡnh vuụng la tinh cấp M (1 < M < N) nằm trờn giao của M
dũng liờn tiếp và M cột liờn tiếp nào đú của được gọi là hỡnh vuụng la tinh con của
Yờu cầu: Cho là một hỡnh vuụng la tinh cấp N, hóy tớnh số lượng hỡnh vuụng la tinh con
của nú
Dữ liệu: Vào từ file văn bản LATIN.INP:
N dũng sau: mỗi dũng chứa N số nguyờn trờn dũng tương ứng của hỡnh vuụng la tinh.
Kết quả: Đưa ra file văn bản LATIN.OUT:
K dũng sau: mỗi dũng chứa 3 số nguyờn I J M, trong đú I, J - toạ độ dũng, cột của
phần tử ở gúc trờn trỏi của hỡnh vuụng la tinh con kớch thước M (Cỏc dũng và cột của hỡnh vuụng la tinh đó cho được đỏnh số từ 1 đến N từ trờn xuống dưới và từ trỏi qua
phải.)
Vớ dụ:
Trang 25 6 7 8 1 2 3 4
1 4 2 3 5 6 7 8
2 1 3 4 6 7 8 5
3 2 4 1 7 8 5 6
4 3 1 2 8 5 6 7
1 5 2
1 5 4
3 7 2
5 1 4
Bài 2 Phá huỷ đồ thị
Cuội rủ Bờm tham gia vào trò chơi sau đây Thoạt tiên Cuội vẽ một đồ thị có hớng với N đỉnh
và M cung Sau đó Bờm phải phá huỷ đồ thị này Tại mỗi nớc đi, Bờm chọn một đỉnh bất kỳ
và có thể xoá các cung đi vào nó hoặc xoá các cung đi ra khỏi nó Cuội đặt hai loại giá cho
mỗi đỉnh i của đồ thị: W i
và W i
Nếu xoá các cung đi vào đỉnh i thì Bờm phải trả W i
(đồng),
còn nếu xoá các cung đi ra khỏi đỉnh i thì Bờm phải trả W i
(đồng)
Yêu cầu: Hãy giúp Bờm tìm cách xoá bỏ toàn bộ các cung của đồ thị với tổng chi phí phải trả
là nhỏ nhất
Dữ liệu: Vào từ file văn bản DESTROY.INP:
Dòng thứ hai chứa các số W W1 , 2 , ,W n
Dòng thứ ba chứa các số W W1 , 2 , ,W n
một cung tơng ứng của đồ thị Đồ thị có thể chứa khuyên (cung nối một đỉnh với chính nó) hoặc các cung lặp (các cung nối cùng một cặp đỉnh)
Hạn chế: Các số W i
và W i
là các số dơng không vợt quá 106 Hai số liên tiếp trên một dòng đợc ghi cách nhau bởi dấu cách
Kết quả: Ghi ra file văn bản DESTROY.OUT:
dạng: ‘i +’ nếu Bờm xoá các cung đi vào đỉnh i, hoặc ‘i –’ nếu Bờm xoá các cung đi
ra khỏi đỉnh i Giữa chỉ số đỉnh i và dấu ‘+’ (hoặc ‘-’) có đúng một dấu cách.
Ví dụ:
Trang 33 6
1 2 3
4 2 1
1 2
1 1
3 2
1 2
3 1
2 3
5 3
1 +
2 –
2 +
Bài 3 Dọn dẹp bộ nhớ
Bộ nhớ của máy tính có dung lợng V byte đợc đánh số từ 0 đến V-1 Các khối bộ nhớ đã đợc phân phối đợc xác định bởi dãy các địa chỉ (a1, b1), (a2, b2), … ( a ( N , b N) Các khối này đợc sắp
xếp theo địa chỉ và không giao nhau, nghĩa là 0 ≤ a j ≤ b j < a j+1 < V Hệ điều hành cần cung cấp một khối gồm M byte cho một yêu cầu mới xuất hiện Nếu nh không gian nhớ tự do với dung
lợng nh vậy không còn, thì hệ điều hành cần dịch chuyển một khối nào đó để giải phóng đợc một đoạn bộ nhớ liên tục có độ dài đòi hỏi
Yêu cầu: Tìm cách chọn khối bộ nhớ với dung lợng nhỏ nhất cần dịch chuyển để đáp ứng yêu
cầu đặt ra Trong trờng hợp có nhiều cách lựa chọn, hãy đa ra khối với địa chỉ đầu nhỏ nhất
Dữ liệu: Vào từ file văn bản DEFRAG.INP: Đầu tiên là các số nguyên V N M, tiếp đến là 2N
cặp số nguyên a1 b1 a2 b2 a N b N Hai số liên tiếp đợc ghi cách nhau ít nhất một dấu cách hoặc dấu xuống dòng
Hạn chế: 0 ≤ N ≤ 100000, 1 ≤ V ≤ 1073741824.
Kết quả: Ghi ra file văn bản DEFRAG.OUT:
Ví dụ:
10 2 4
1 5 7 7
2