[otomat] - Otomat
Xem dạng PDF
Một otomat có 2 trạng thái 0 và 1. Trạng thái 0 khóa nằm bên trái, trạng thái 1 khóa nằm bên phải, nếu có bóng tác động thì sẽ chuyển từ trạng thái 0 thành 1 và ngược lại 1 thành 0. Nếu khóa bên nào thì bóng sẽ rơi về phía bên kia.
Trong một hệ thống gồm 8 otomat (gọi là ) đang ở hai trạng thái nhị phân (0 hoặc 1). Mỗi lần thả một quả bóng vào một trong ba cửa A, B, C bóng sẽ đi theo một đường quyết định bởi trạng thái của các otomat mà nó gặp – đồng thời mỗi otomat bị bóng "tác động" sẽ đổi trạng thái () ngay khi bóng đi qua nó.
Quy tắc chuyển hướng của bóng như sau (khi bóng đến một otomat, otomat đó xem trạng thái hiện tại để quyết định nhánh, rồi bị tác động và đổi trạng thái):
- Nếu bóng đi qua cửa A:
- Bóng đến .
- Nếu đang là 1 thì bóng tiếp tục đến ; nếu đang là 0 thì bóng xuống .
- Nếu bóng đến : nếu là 0 thì bóng xuống , ngược lại (nếu ) bóng đi đến .
- Khi bóng tới hoặc , nó tác động otomat ấy và kết thúc đường đi (không còn chuyển tiếp nữa).
- Nếu bóng đi qua cửa B:
- Bóng đến .
- Nếu là 1 thì bóng tiếp tục đến ; nếu là 0 thì bóng xuống .
- Nếu bóng đến : nếu là 1 thì bóng đi đến , ngược lại (nếu ) bóng đi đến .
- Khi bóng tới hoặc , nó tác động otomat ấy và kết thúc đường đi.
- Nếu bóng đi qua cửa C:
- Bóng đến .
- Nếu là 1 thì bóng tiếp tục đến ; nếu là 0 thì bóng đi đến .
- Khi bóng tới hoặc , tuân theo quy tắc ở trên: nếu vào thì quyết định tới hay theo trạng thái hiện tại; cuối cùng khi bóng tới hoặc thì kết thúc.
Lưu ý về thứ tự thao tác trên mỗi otomat khi bóng đi qua: Khi bóng đến một otomat , otomat đọc trạng thái hiện tại để quyết định hướng tiếp theo, sau đó bị tác động (đổi trạng thái) rồi bóng tiếp tục chuyển theo hướng đó.
Cho trạng thái ban đầu của 8 otomat dưới dạng xâu nhị phân 8 ký tự (theo thứ tự ) và trạng thái đích (một xâu 8 ký tự khác). Hỏi có tồn tại một dãy thả bóng (mỗi lần thả chọn một cửa trong ) sao cho sau khi thực hiện tuần tự các lần thả, hệ thống đạt đúng trạng thái đích hay không? Nếu có, hãy cho một dãy cửa thực hiện được điều đó.

Dữ liệu vào
Dữ liệu vào từ tệp OTOMAT.INP theo cấu trúc như sau:
- Dòng 1: Một xâu nhị phân thể hiện trạng thái ban đầu của otomat ().
- Dòng 2: Một xâu nhị phân thể hiện trạng thái đích của otomat ().
Kết quả
Ghi ra tệp OTOMAT.OUT:
- Một xâu (không cách) các ký tự chỉ cửa thả theo thứ tự (mỗi ký tự là A, B hoặc C) miêu tả một dãy thả đạt được trạng thái đích (Độ dài xâu không quá 100). Nếu có nhiều lời giải, in một lời giải có thứ tự từ điển nhỏ hơn.
- Nếu không thể đạt được trạng thái đích, ghi
0.
Ví dụ
Input
01100001
11011010
Output
AC
Ràng buộc
- Độ dài xâu kết quả không quá .
Bình luận