Tải bản đầy đủ (.pdf) (7 trang)

Đề thi toán quốc tế tháng 1-3 1998

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (390.3 KB, 7 trang )

Bai toan 1-98
1. Contact
Tiến sỹ Astro Insky làm việc ở một trung tâm thiên văn học. Gần đây, bà ta phát hiện thấy những
sóng ngắn rất kỳ lạ phát ra trực tiếp từ trung tâm giải ngân hà. Liệu những sóng kỳ lạ này có mang
theo những sinh vật sống thông minh từ ngoài hành tinh đến không? Hay đó chỉ là những hoạt
động bình thường của tâm các hành tinh?

Bài toán

Bạn phải giúp tiến sỹ Insky tìm ra câu trả lời bằng cách cung cấp các công cụ phân tích mẫu bit dữ
liệu trong các file bà ghi lại được. Tiến sỹ Insky muốn tìm các chiều dài chuỗi bit giữa
A

B
,
chúng được lặp lại nhiều lần trong file dữ liệu mỗi ngày. Trong mỗi trường hợp, người ta đều thấy
số lần lặp lại (N) là lớn nhất. Trong bài này, ta chỉ xét số lần lặp lại ít nhất là 1.

Input

File
CONTACT.IN
chứa nhiều dữ liệu dưới dạng:

Dòng đầu tiên chứa số nguyên A chỉ chiều dài chuỗi bit tối thiểu.

Dòng thứ hai chứa số nguyên B chỉ chiều dài chuỗi bit tối đa.

Dòng thứ 3 chứa số nguyên N chỉ số lần lặp lại lại của chuỗi bit.

Dòng thứ 4 chứa một chuỗi các ký tự 0 và 1, kết thúc dòng là ký tự 2.



Sample Input

2
4
10
010100100100010001111011000010100110011110000100100111100100000002


Dữ liệu nào cho thấy 10 mẫu chiều dài bít giữa 2 và 4 xuất hiện trong bảng bit


01010010010001000111101100001010011001111000010010011110010000000


Trong ví dụ này, mẫu bit 100 xuất hiện 12 lần, mẫu bit 1000 xuất hiện 5 lần, mẫu xuất hiện nhiều
nhất là 00.

Output

File
CONTACT.OUT
là một báo cáo với N dòng, chỉ ra số các chuỗi bit lặp lại nhiều nhất và các mẫu
bit đó. Danh sách chuỗi bit tìm được được xếp theo thứ tự lặp lại ít dần và các dòng hiển thị có
dạng trong ví dụ dưới. Các mẫu có số lần lặp lại bằng nhau được xếp theo thứ tự ngược lại. Nếu
số các dạng chuỗi lặp nhỏ hơn N thì Output có số dòng ít hơn N.

Sample Output

Page 1

Bai toan 3-98
3. Party Lamps
Để thắp sáng buổi dạ hội tại Cuộc thi Olympic Tin học quốc tế năm 1998, chúng ta có một bộ
gồm
N
ngọn đèn màu đánh số từ 1 đến
N
. Các ngọn đèn được nối với nhau bằng bốn nút:

nút 1

khi bấm nút này, tất cả các ngọn đèn đều đổi trạng thái: các ngọn đèn đang ở chế độ ON
sẽ chuyển thành OFF và tất cả các ngọn đèn ở chế độ OFF sẽ chuyển thành ON.

nút 2

thay đổi trạng thái của tất cả các ngọc đèn mang số lẻ.

nút 3

thay đổi trạng thái của tất cả các ngọn đèn mang số chẵn.

nut 4

thay đổi trạng thái của tất cả các ngọn đèn được đánh số dạng 3
K
+1 (với K>=0), ví dụ:
1,4,7,...

Có một chiếc máy đếm

C
ghi lại tổng số lần bấm nút.
Khi buổi dạ tiệc bắt đầu, tất cả các đèn đều ở trạng thái ON và máy đếm
C
được đặt ở 0.

Bài toán

Cho trước giá trị đếm máy
C
ghi được và thông tin trạng thái cuối cùng của một số ngọn đèn. Hãy
viết chương trình xác định trạng thái cuối cùng có thể (không lặp lại) của
N
ngọn đèn theo thông
tin cho trước.

Input

File
PARTY.IN
chứa bốn dòng: số ngọn đèn
N
, số lần bấm đèn
C
và trạng thái cuối cùng của một
số ngọn đèn.
Dòng đầu tiên chứa số
N
và dòng thứ hai chứa giá trị cuối cùng máy đếm
C

ghi nhận. Dòng thứ
ba chứa số ngọn đèn ở trạng thái cuối cùng là
ON
, các thông tin được ngăn cách bằng ký tự trống,
cuối dòng có số nguyên -1. Dòng thứ tư chứa số ngọn đèn ở trạng thái cuối cùng là
OFF
, các
thông tin cũng được ngăn cách bằng ký tự trống và kết thúc bằng số nguyên -1.

Sample Input

10
1
-1
7 -1

Trong ví dụ này có tất cả 10 ngọn đèn và chỉ một nút đã được bấm. Ngọn đèn số 7 ở trạng thái
cuối cùng là OFF.

Output

File
PARTY.OUT
phải chứa tất cả các trạng thái cuối cùng (không lặp lại) có thể của tất cả các ngọn
đèn. Mỗi trạng thái phải được thể hiện trên một dòng riêng. Các trạng thái có thể được sắp xếp tuỳ
ý
Page 1
ý.

Mỗi dòng có

N
ký tự trong đó ký tự đầu tiên chỉ trạng thái của ngọn đèn số 1 và chữ số cuối cùng
chỉ trạng thái của ngọn đèn
N
. Số 0 chỉ ngọn đèn ở trạng thái
OFF
và số 1 chỉ ngọn đèn ở trạng
thái
ON
.

Sample Output

0000000000
0110110110
0101010101


Trong trường hợp này, các ngọn đèn có thể ở ba trạng thái:

tất cả các ngọn đèn đều ở trạng thái
OFF
;

hoặc các ngọn đèn 1, 4, 7, 10 ở trạng thái
OFF
và các ngọn đèn 2, 3, 5, 6, 8, 9 ở trạng thái
ON
;


hoặc các ngọn đèn 1, 3, 5, 7, 9 ở trạng thái
OFF
và các ngọn đèn 2, 4, 6, 8, 10 ở trạng thái
ON
.

Ràng buộc

Các tham số
N

C
thỏa mãn điều kiện: 10 <= N <= 100, 1 <= C <= 10000
Số ngọn đèn có trạng thái cuối cùng là
ON
nhỏ hơn hoặc bằng 2.
Số ngọn đèn có trạng thái cuối cùng là
OFF
nhỏ hơn hoặc bằng 2.
Có ít nhất một trạng thái cuối cùng cho các ngọn đèn trong file chạy thử.


Page 2
Bai Toan 2-98
2. Đêm đầy sao
Nhìn lên bầu trời đêm, ta thấy những ngôi sao xuất hiện thành từng chòm với nhiều hình thù khác
nhau. Chòm sao là một nhóm gồm các ngôi sao nằm theo đường ngang, đường dọc và đường
chéo chòm sao. Một chòm sao không thể là một bộ phận của một chòm sao lớn khác.

Các chòm sao có thể giống nhau. Hai chòm sao được gọi là giống nhau nếu chúng có hình dạng

giống nhau và số các vì sao bằng nhau. Các chòm sao thường năm theo 8 hướng như hình 1 dưới
đây.



Hình 1. Tám chòm sao giống nhau


Bầu trời đêm được biểu thị bằng một bản đồ là một ma trận hai chiều của các phần tử 0 và 1. Một
ô chứa số 1 nếu ô đó chứa 1 vì sao và ô đó có số 0 nếu không có vì sao nào.

Bài toán

Cho trước bản đồ bầu trời, đánh dấu các chòm sao bằng các ký tự viết thường. Các chòm sao
giống nhau được đánh dấu bằng cùng một ký tự, các chòm sao khác nhau được đánh dấu bằng
các ký tự khác nhau. Bạn đánh dấu chòm sao bằng cách thay tất cả các số 1 trong chòm sao bằng
ký tự viết thường.

Input

Trong file
STARRY.IN
, hai dòng đầu tiên lần lượt chứa chiều rộng
W
và chiều cao
H
của bản đồ
bầu trời. Bản đồ bầu trời gồm
H
dòng, mỗi dòng có

W
ký tự.

Sample Input

23
15
10001000000000010000000
01111100011111000101101
01000000010001000111111
00000000010101000101111
00000111010001000000000
00001001011111000000000
10000001000000000000000
Page 1
10000001000000000000000
00101000000111110010000
00001000000100010011111
00000001110101010100010
00000100110100010000000
00010001110111110000000
00100001110000000100000
00001000100001000100101
00000001110001000111000


Trong trường hợp này, bản đồ bầu trời có chiều ngang là 23 và chiều dọc là 15. Dữ liệu vào trong
ví dụ trên minh họa cho bầu trời trong hình 2 dưới.




Hình 2. Hình ảnh bầu trời


Output

File
STARRY.OUT
chứa một bản đồ tương tự bản đồ trong file
STARRY.IN
chỉ khác ở chỗ các chòm
sao đã được đánh dấu thành các ký tự viết thường.

Sample Output

a000a0000000000b0000000
0aaaaa000ccccc000d0dd0d
0a0000000c000c000dddddd
000000000c0b0c000d0dddd
00000eee0c000c000000000
0000e00e0ccccc000000000
b000000e000000000000000
00b0f000000ccccc00a0000
0000f000000c000c00aaaaa
0000000ddd0c0b0c0a000a0
00000b00dd0c000c0000000
000g000ddd0ccccc0000000
00g0000ddd0000000e00000
0000b000d0000f000e00e0b
0000000ddd000f000eee000



Dưới đây là một kết quả từ dữ liệu vào ở trên. Bản đồ kết quả được thể hiện như hình 3 dưới.

Page 2

×