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]
(1)Hả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à à
Ng y thi: 08-05-2004
Nơi thi: Đại học Hàng hải
Tên bài Tên file chơng trình
Tên file dữ liệu
Tên file kết quả
Hạn chế thời gian cho test
Tổng điểm cho bài Hình vuông la tinh LATIN.??? LATIN.INP LATIN.OUT gi©y 30
Phá huỷ đồ thị DESTROY.??? DESTROY.INP DESTROY.OUT giây 35
Dän dĐp bé nhí DEFRAG.??? DEFRAG.INP DEFRAG.OUT gi©y 35
Dấu ??? đợc thay đuôi ngầm định ngôn ngữ đợc sử dụng để cài đặt chơng trình
H·y lËp trình giải sau đây: Bài Hình vuông la tinh
Hình vng la tinh cấp N bảng vng gồm NN số xếp thành N dịng N cột sao cho dòng cột hoán vị số tự nhiên 1, 2, , N Cho một hình vng la tinh cấp N Một hình vng la tinh cấp M (1 < M < N) nằm giao M dòng liên tiếp M cột liên tiếp gọi hình vng la tinh Yêu cầu: Cho hình vng la tinh cấp N, tính số lượng hình vng la tinh con
Dữ liệu: Vào từ file văn LATIN.INP: Dòng chứa số nguyên N,
N dòng sau: dòng chứa N số nguyên dòng tương ứng hình vng la tinh. Kết quả: Đưa file văn LATIN.OUT:
Dòng chứa số nguyên K - số hình vng la tinh tìm được,
K dòng sau: dòng chứa số nguyên I J M, I, J - toạ độ dịng, cột của phần tử góc trái hình vng la tinh kích thước M (Các dịng cột của hình vng la tinh cho đánh số từ đến N từ xuống từ trái qua phải.)
Ví dụ:
LATIN.INP LATIN.OUT
(2)5 4
6 3
7 1
8 2
1 8
2 5
3 6
4 7
1 2 1 4 3 2 5 4
Bài Phá huỷ đồ thị
Cuội rủ Bờm tham gia vào trò chơi sau Thoạt tiên Cuội vẽ đồ thị có hớng với N đỉnh và M cung Sau Bờm phải phá huỷ đồ thị Tại nớc đi, Bờm chọn đỉnh bất kỳ xố cung vào xố cung khỏi Cuội đặt hai loại giá cho mỗi đỉnh i đồ thị: Wi
vµ Wi
Nếu xoá cung vào đỉnh i Bờm phải trả Wi
(đồng), cịn xố cung khỏi đỉnh i Bờm phải trả Wi
(đồng)
u cầu: Hãy giúp Bờm tìm cách xố bỏ tồn cung đồ thị với tổng chi phí phi tr l nh nht
Dữ liệu: Vào từ file văn DESTROY.INP:
Dòng chứa hai số nguyên N M (1 N 100; ≤ M ≤ 5000); Dßng thø hai chøa c¸c sè W W1 , , ,Wn
Dßng thø ba chøa c¸c sè W W1 , , ,Wn
Mỗi số M dòng chứa hai số nguyên đỉnh đầu đỉnh cuối của cung tơng ứng đồ thị Đồ thị chứa khuyên (cung nối đỉnh với nó) cung lặp (các cung ni cựng mt cp nh)
Hạn chế: Các sè Wi
vµ Wi
là số dơng không vợt 106.
Hai số liên tiếp dòng đợc ghi cách dấu cách Kết quả: Ghi file văn DESTROY.OUT:
Dịng ghi tổng chi phí theo cách xố tìm đợc; Dịng thứ hai ghi K số nớc theo cách xố tìm đợc;
Mỗi dòng thứ i K dòng mơ tả nớc cách xố tìm đợc có dạng: ‘i +’ Bờm xố cung vào đỉnh i, ‘i –’ Bờm xoá cung đi ra khỏi đỉnh i Giữa số đỉnh i dấu ‘+’ (hoặc ‘-’) có dấu cách.
VÝ dô:
(3)3 6 1 3 4 1 1 2 1 1 3 2 1 2 3 1 2 3
5 3 1 + 2 – 2 +
Bµi Dän dĐp bé nhí
Bộ nhớ máy tính có dung lợng V byte đợc đánh số từ đến V-1 Các khối nhớ đợc phân phối đợc xác định dãy địa (a1, b1), (a2, b2), … a ( N, bN) Các khối đợc
xếp theo địa không giao nhau, nghĩa ≤ aj ≤ bj < aj+1 < V Hệ điều hành cần cung cấp
một khối gồm M byte cho yêu cầu xuất Nếu nh không gian nhớ tự với dung lợng nh khơng cịn, hệ điều hành cần dịch chuyển khối để giải phóng đợc đoạn nhớ liên tục có độ dài địi hỏi
u cầu: Tìm cách chọn khối nhớ với dung lợng nhỏ cần dịch chuyển để đáp ứng yêu cầu đặt Trong trờng hợp có nhiều cách lựa chọn, đa khối với địa đầu nhỏ Dữ liệu: Vào từ file văn DEFRAG.INP: Đầu tiên số nguyên V N M, tiếp đến 2N cặp số nguyên a1 b1 a2 b2 aN bN Hai số liên tiếp đợc ghi cách du cỏch
hoặc dấu xuống dòng
Hạn chế: ≤ N ≤ 100000, ≤ V ≤ 1073741824. Kết quả: Ghi file văn DEFRAG.OUT:
Chỉ số khối cần di chuyển không cần di chuyển
-1, cách di chuyển (không thể giải phóng không gian nhớ yêu cầu) Ví dụ:
DEFRAG.INP DEFRAG.OUT
10 4 1 7