Cửa gara điện của tôi hoạt động như thế này:
- Chỉ có một nút ấn để điều khiển cửa
- Nếu cửa đóng hoàn toàn và tôi nhấn nút, cửa sẽ bắt đầu mở. Phải mất 10 giây để mở hoàn toàn
- Nếu cửa mở hoàn toàn và tôi nhấn nút, cửa sẽ bắt đầu đóng. Phải mất 10 giây để đóng hoàn toàn
- Nếu cánh cửa là một phần thông qua mở hoặc đóng và tôi nhấn nút, thì cánh cửa dừng lại và được mở một phần.
- Bất cứ khi nào cánh cửa dừng di chuyển, từ tự động hoàn thành một hành động mở hoặc đóng, hoặc do gián đoạn thủ công bằng cách nhấn nút giữa chừng bằng một hành động, thì cơ chế sẽ đảo ngược và ghi nhớ hướng của nó cho hành động tiếp theo.
- Nếu nút được ấn khi cửa dừng nhưng mở một phần, thì thời gian để nó hoàn thành hành động của nó sẽ là một phần nhỏ của 10 giây so với lượng cần thiết để di chuyển để hoàn thành hành động.
Giả sử cửa được đóng hoàn toàn khi bắt đầu.
Một danh sách đầu vào của số nguyên sẽ được đưa ra. Các số nguyên này là số giây tôi chờ giữa các lần nhấn liên tiếp của nút điều khiển.
Đầu ra hai điều:
- một tỷ lệ phần trăm cho biết trạng thái của cửa sau khi tất cả các lần nhấn nút được hoàn thành và cửa đã đạt đến trạng thái ổn định. Đầu ra của
%biểu tượng là tùy chọn. - một dấu hiệu rõ ràng về hướng cửa sẽ đi theo hướng nhấn nút tiếp theo. Đây có thể là
up/down,U/D,+/-,1/0hoặc bất cứ điều gì bạn chọn.
Bạn có thể cho rằng cánh cửa mất vô cùng ít hơn 10 giây để hoàn thành một hành động mở hoặc đóng.
Ví dụ đầu vào:
<empty list> # button was pushed just once
20 # button was pushed twice with 20 seconds between
10
5
20 20
10 10
5 5
1 2 3
8 9 10 11
11 10 9 8 7
Đầu ra dự kiến tương ứng với đầu vào trên
100% D
0% U
0% U
50% D
100% D
100% D
0% U
100% D
0% U
20% U
Ví dụ làm việc của bài kiểm tra cuối cùng
- Cửa bắt đầu đóng. Nút được đẩy
- Đợi 11 giây. Cửa kết thúc mở hoàn toàn. Nút được đẩy.
- Đợi 10 giây. Cửa kết thúc đóng hoàn toàn. Nút được đẩy.
- Đợi 9 giây. Nút được đẩy. Cửa dừng ở mức mở 90%.
- Đợi 8 giây. Nút được đẩy. Cửa bắt đầu đóng.
- Đợi 7 giây. Nút được đẩy. Cửa dừng ở mức mở 20%. Hướng tiếp theo sẽ được lên.