Kết quả ghi ra file văn bản REVERSY.OUT trên một dòng gồm 3 số i, j và k với i là chỉ số dòng, j là chỉ số cột cần đặt quân đen và k là số lượng quân lật được nhờ nước đi đó. Ví dụ :[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: Đồng đội không chuyên
Thời gian làm bài: 180 phút
Ngày thi: 8-5-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ả gian cho mỗi test Hạn chế thời Tổng điểm cho bài AGAME AGAME.??? AGAME.INP AGAME.OUT 1 giây 20 Dầu khí PETRO.??? PETRO.INP PETRO.OUT 1 giây 40
Cờ lật REVERSY.??? REVERSY.INP REVERSY.OUT 1 giây 40
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 trinh.
Hãy lập trình giải các bài sau đây:
Sơ đồ để các robot di chuyển trong cuộc thi AGAME là một bảng hình chữ nhật được chia thành M x N ô vuông đơn vị Các dòng của bảng được đánh số từ trên xuống dưới, còn các cột được đánh số từ trái qua phải và đều bắt đầu từ 1 Mục đích của cuộc chơi là tìm ra robot có tốc độ nhanh nhất di chuyển từ (1,1) di chuyển qua các ô của bảng theo hình xoắn
ốc theo chiều kim đồng hồ, sao cho mỗi ô đi qua đúng một lần (Xem hình 1) Như vậy trong quá trình di chuyển, robot rẽ phải tại K ô nào đó Tại những ô robot cần rẽ phải chương trình điều khiển robot phải cho robot giảm tốc độ để tránh cho robot không bị lật
Yêu cầu:
a Với kích thước của bảng cho trước, hãy tìm số lần rẽ phải của robot,
b Với một số q cho trước, hãy đưa ra toạ độ của ô rẽ phải thứ q
Dữ liệu vào từ file văn bản AGAME.INP:
Dòng đầu chứa hai số M và N khoảng trắng (2 ≤ M, N, 1000),
Dòng thứ hai chứa số q (qK)
Kết quả ghi vào file AGAME.OUT trong đó:
Dòng đầu ghi ra số nguyên K (kết quả câu a),
Dòng thứ hai ghi ra hai số nguyên x và y tương ứng là chỉ số dòng và chỉ số cột của ô
rẽ phải thứ q (kết quả câu b).
Ví d :ụ:
4 5 5
6
2 4
Hình 1
Trang 2Bài 2: DẦU KHÍ
Thềm lục địa Việt Nam là một khu vực có nhiều tiềm năng tìm thấy dầu mỏ Sau một thời gian nghiên cứu, phân tích số liệu, các nhà khoa học đã xác định được một khu vực thềm lục địa hình chữ nhật Khu vực này được chia thành một lưới NxM ô Để thuận tiện,ta đánh số các dòng trên lưới theo trình tự từ trên xuống dưới (từ 1 đến N), và các cột từ trái qua phải (từ
1 đến M) Ô ở góc trên trái là ô (1,1), ô góc dưới phải là ô (N,M) Từ số liệu thăm dò, ta biết
số liệu về trữ lượng dầu dự báo tại mỗi ô trên lưới Như vậy, vùng thềm lục địa đang xét có thể mô tả như một bảng A kích thước NxM Giá trị của phần tử trên dòng i cột j của A cho biết số liệu về trữ lượng dầu dự báo tại ô lưới tương ứng
Để đảm bảo hiệu quả khai thác, người ta quyết định chia khu thềm lục địa thành 4 lô hình chữ nhật và cho tiến hành đấu thầu độc lập từng lô một Việc chia lô được thực hiện theo cách cắt khu vực bằng một đường dọc và một đường ngang trên cạnh các ô lưới Giá trị của mỗi lô tương ứng với tổng số trữ lượng dầu dự báo tại các ô thuộc lô này
Yêu cầu: Chỉ ra phương án chia khu thềm lục địa sao cho chênh lệch T về trữ lượng dự báo ở
lô có trữ lượng lớn nhất và lô có trữ lượng dự báo nhỏ nhất là tối thiểu Nếu có nhiều phương
án, chỉ cần đưa ra một Biết các phần tử của bảng A là các số nguyên không âm có giá trị không vượt quá 1000
Dữ liệu vào từ file văn bản PETRO.INP trong đó:
Dòng đầu chứa hai số N và M (2 ≤ N, M ≤ 125)
Dòng thứ i trong N dòng tiếp theo chứa dòng i của bảng A
Các số trên cùng một dòng cách nhau bởi một khoảng trắng
Kết quả ghi ra file văn bản PETRO.OUT với 3 số T, R và C tương ứng là độ chênh lệch ít
nhất, vị trí dòng, cột cần chọn để chia khu thềm lục địa Với cách chia này, lô trên trái sẽ gồm các ô (i,j) với 1 ≤ i ≤ R, 1 ≤ j ≤ C, , lô trên phải sẽ gồm các ô (i,j) với 1 ≤ i ≤ R, C+1 ≤ j ≤ M,
lô dưới trái sẽ gồm các ô (i,j) với R+1 ≤ i ≤ N, 1 ≤ j ≤ C, lô dưới phải sẽ gồm các ô (i,j) với R+1 ≤ i ≤ N, C+1 ≤ j ≤ M Xem hình 2
Ví dụ:
Sơ đồ khu thềm lục địa PETRO.INP PETRO.OUT
1212C RM N
ì n h 2
Trang 3Bài 3: CỜ LẬT Tên chương trình: REVERSY.???
Cờ lật được chơi trên bàn cờ NxN (3≤N≤100), các cột được đánh số từ 1 tới N từ trái sang phải, các hàng được đánh số từ 1 đến N từ trên xuống dưới Quân cờ có 2 mặt: đen và trắng Hai người lần lượt đặt quân vào ô trống tuỳ ý, một người đặt mặt trắng, người kia - mặt đen Mục tiêu của trò chơi là lật được càng nhiều quân của đối phương càng tốt Một dãy quân cùng màu liên tiếp nhau theo cột, hàng hoặc đường chéo bị kẹp ở hai đầu quân khác màu thì
sẽ bị lật, trở thành quân màu khác Ở hình 3 là trạng thái các quân cờ trước và sau khi đặt quân đen vào vị trí dòng 5 cột 2
Yêu cầu: Cho trạng thái bàn cờ Hãy xác định một vị trí đặt quân đen để có thể lật được
nhiều quân trắng nhất nhờ nước đi này
Dữ liệu vào từ file văn bản REVERSY.INP trong đó dòng đầu chứa số N Dòng thứ i trong N dòng tiếp theo chứa 1 xâu gồm N ký tự cho biết trạng thái dòng thứ i trên bàn cờ: B là quân đen, W là quân trắng và là ô trống.
Kết quả ghi ra file văn bản REVERSY.OUT trên một dòng gồm 3 số i, j và k với i là chỉ số
dòng, j là chỉ số cột cần đặt quân đen và k là số lượng quân lật được nhờ nước đi đó
Ví dụ:
8 BBW
.WW.B
.W.W
.WWWW
WBW
5 2 6
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
Hình 3