Phòng nối băng chuyền
Đề bài
Mô tả
Có căn phòng được đánh số từ đến xếp thành một vòng tròn, mỗi phòng có một con rắn. Các phòng được nối với nhau bởi băng chuyền: băng chuyền thứ nối phòng và phòng . Như vậy các cặp phòng và , và , ..., và , và được nối với nhau.
Băng chuyền thứ đang ở một trong ba trạng thái:
- Nếu quay theo chiều kim đồng hồ, rắn chỉ có thể đi từ phòng sang phòng .
- Nếu quay ngược chiều kim đồng hồ, rắn chỉ có thể đi từ phòng sang phòng .
- Nếu tắt, rắn có thể đi theo cả hai chiều.
Mỗi con rắn muốn rời phòng của mình rồi sau đó quay trở lại. Một phòng được gọi là quay-về-được nếu con rắn trong phòng đó có thể rời khỏi phòng và sau đó quay trở lại chính phòng đó bằng cách di chuyển qua các băng chuyền. Hãy đếm số phòng quay-về-được.
Dữ liệu vào
- Dòng đầu chứa số nguyên : số bộ test.
- Với mỗi bộ test:
- Dòng đầu chứa số nguyên : số phòng.
- Dòng sau chứa xâu độ dài gồm các ký tự
>,<,-:-
>: băng chuyền thứ quay theo chiều kim đồng hồ. -
<: băng chuyền thứ quay ngược chiều kim đồng hồ. -
-: băng chuyền thứ tắt.
-
Dữ liệu ra
Với mỗi bộ test, in ra một dòng chứa số phòng quay-về-được.
Ràng buộc
- Tổng của trên tất cả các bộ test không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 4 -><- 5 >>>>> 3 <-- 2 <> |
3 5 3 0 |
Test 1: mọi phòng đều quay-về-được trừ phòng , vì rắn ở phòng bị kẹt (băng chuyền chỉ cho vào theo chiều kim đồng hồ, băng chuyền chỉ cho ra ngược chiều). Test 2: mọi phòng quay-về-được nhờ đi vòng quanh theo chuỗi băng chuyền cùng chiều kim đồng hồ. Test 4: không phòng nào quay-về-được. |
Bình luận