Tải bản đầy đủ

Đề thi toán quốc tế tháng 4-6 1998

Bai toan 4-98
4. Picture
Có một số tấm áp phích, ảnh và tranh cùng có hình chữ nhật dán trên tường. Các cạnh của chúng
đều là nằm ngang hoặc thẳng đứng. Mỗi hình chữ nhật đều có thể nằm một phần hoặc toàn bộ
trong các hình chữ nhật khác. Chiều dài đường bao quanh khối hình chữ nhật như hình dưới được
gọi là đường vành đai.

Bài toán

Hãy viết chương trình tính chiều dài đường vành đai.
Ví dụ có 7 hình chữ nhật nằm như hình dưới 1.




Hình 1. Một khối 7 hình chữ nhật


Đường vành đai của khối đó được thể hiện trong hình 2.




Hình 2. Đường vành đai của khối hình chữ nhật


Đỉnh của tất cả các hình chữ nhật đều có tọa độ là các số nguyên.

Input

Dòng đầu tiên của file
PICTURE.IN
chứa số hình chữ nhật dán trên tường. Trong mỗi dòng tiếp
theo có các tọa độ nguyên của đỉnh dưới bên trái và đỉnh trên bên phải của mỗi hình chữ nhật. Giá
trị của các tọa độ đó được cho dưới dạng từng cặp (x, y).

Page 1
Bai Toan 6-98

6.

Trò chơi xoá cạnh đa giác
(
Polygon - Đề thi Olympic IOI-1998
)

Polygon là một trò chơi cho một người mà bắt đầu bởi một đa giác N đỉnh, giống như hình 1, với
N = 4. Mỗi đỉnh được đánh nhãn với một số nguyên và mỗi cạnh được đánh nhãn bằng hoặc là
dấu cộng hoặc là dấu *. Các cạnh được đánh số từ 1 đến N.

Hình 1
:
Đồ thị biểu diễn của một đa giác.

Trong bước đi đầu tiên, một trong các cạnh được tách ra.

Sau đó lần lượt đi theo các bước sau:

Chọn một cạnh
E
và 2 đỉnh
V_1


and
V_2
là hai đầu mút của cạnh
E
; Và

Thay thế chúng bởi một đỉnh mới là kết quả của việc biểu diễn phép toán biểu thị ở cạnh
E

của các số được đánh nhãn ở
V_1

V_2
.

Trò chơi kết thúc khi không còn một cạnh nào, và điểm được tính là nhãn của một đỉnh còn lại.

Ví dụ
:

Xét một đa giác như hình 1. Người chơi bắt đầu bằng cách tách cạnh 3 (xem hình 2).




Hình 2
:
Tách cạnh 3.

Sau đó, chọn cạnh 1.




Hình 3
:
Chọn cạnh 1
(-2 = -7 + 5).

rồi đến cạnh 4

Page 1


Hình 4
:
Chọn cạnh 4
(-4 = (-2)*2).


Và cuối cùng là chọn cạnh 2. Điểm thu được trong trò chơi theo cách này là 0.

Hình 5
:
Chọn cạnh 2
(0 = 4 + (-4)).

Nhiệm vụ

Cho đa giác, viết chương trình tính điểm cao nhất có thể và danh sách tất cả các cạnh tách đầu tiên
mà nếu dựa vào việc tách cạnh đầu tiên đó thì có thể dẫn đến điểm cao nhất trên.

Dữ liệu vào
: trong file
POLYGON.IN
miêu tả đa giác với N đỉnh, gồm 2 dòng: dòng đầu tiên là N -
số đỉnh của đa giác; dòng thứ 2 nhãn của các cạnh 1, ..., N xen lẫn với nhãn của các đỉnh (đầu tiên
là đỉnh giữa hai cạnh 1 và 2, sau đó là đỉnh giữa hai cạnh 2 và 3, ..., cuối cùng là đỉnh giữa hai
cạnh N và 1), tất cả cách nhgau bởi một dấu cách. Nhãn của một cạnh hoặc là
t
(tương ứng với +)
hoặc là
x
(tưng ứng với *).
Sample Input
:

4
t -7 t 4 x 2 x 5
Đây là dữ liệu vào cho đa giác tương ứng với hình 1. Dòng thứ nhất là số đỉnh của đa giác; dòng
thứ 2 bắt đầu với nhãn của cạnh 1.

Dữ liệu ra
: trong file POLYGON.OUT,dòng đầu phải ghi được số điểm cao nhất nhận được từ
dữ liệu vào; dòng thứ 2 là danh sách của tất cả các cạnh được tách đầu tiên mà nếu dựa vào việc
tách cạnh đầu tiên đó thì có thể dẫn đến số điểm cao nhất đó.

Các cạnh phải được viết theo thứ tự tăng dần, cách nhau bởi dấu cách.

Sample Output

33
1 2
Kết quả này tương ứng với đa giác cho bởi hình 1.

Điều kiện của bài toán
:

3 <= N <= 50 (số đỉnh của đa giác)

Nhãn để đánh dấu các đỉnh là các số nguyên có giới hạn trong đoạn [-32768,32767].



Bai toan 5-98
5. Camelot


Hình 1. Bàn cờ

Quân Vua có thể di chuyển đến đến bất kỳ ô nào ở xung quanh ô đang đứng (từ
sang ) như
hình 2.

Hình 2. Các ô có thể đi của quân vua

Quân Hiệp sỹ có thể nhảy từ ô
sang ô như hình 3 dưới.

Hình 3. Các vị trí có thể nhảy đến của quân Hiệp sỹ

Trong khi chơi, người chơi có thể đặt nhiều hơn một quân vào cùng một ô vuông. Bàn cờ đủ lớn
để một quân cờ không cản trở bước đi của một quân khác.

Mục đích chơi là người chơi phải xếp các quân cờ vào cùng một vuông với số lần di chuyển là ít
nhất. Người chơi bắt buộc phải di chuyển quân cờ theo quy định trên. Bên cạnh đó, mỗi khi quân
vua và một vài quân hiệp sỹ nằm trong cùng một vuông, từ đó trở đi người chơi chỉ có thể lấy
quân vua và một quân hiệp sỹ di chuyển đến ô khác cho đến khi trò chơi kết thúc. Lần di chuyển
quân vua và quân hiệp sỹ đó được coi là một lần di chuyển .

Bài toán

Hãy viết chương trình đếm số lần di chuyển quân ít nhất để đưa các quân vào một ô vuông trên
Page 1
Hãy viết chương trình đếm số lần di chuyển quân ít nhất để đưa các quân vào một ô vuông trên
bàn cờ.

Input

File
CAMELOT.IN
chứa dữ liệu ban đầu về bàn cờ là một chuỗi các ký tự. Chuỗi ký tự chứa lần
lượt 64 vị trí khác nhau trên bàn cờ trong đó có vị trí đầu tiên là quân vua và các vị trí còn lại là
quân hiệp sỹ. Mỗi vị trí là một cặp ký tự-số. Ký tự chỉ tọa độ ngang của ô bàn cờ, số chỉ tọa độ
dọc của ô bàn cờ.

Sample Input

D4A3A8H1H8


Vị trí của quân vua là
D4
, còn lại là bốn quân hiệp sỹ ở các ô
A3
,
A8
,
H1

H8
.

Output

File
CAMELOT.OUT
là một dòng chứa một số nguyên chỉ số lần di chuyển quân ít nhất để đưa được
tất cả các quâ vào cùng một ô.

Sample Output

10

Ràng buộc

0 <= số quân hiệp sỹ <= 63


Page 2

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×