Dây của tôi đều rối!
Có khó chịu không khi dây bị rối? Chà, điều đó vừa xảy ra với tôi, vì vậy tôi muốn giúp tôi gỡ rối cho họ! Để thuận tiện cho bạn, tôi đã ngắt kết nối tất cả chúng khỏi thiết bị, nhưng tất cả chúng vẫn được kết nối với ổ cắm. Thách thức của bạn là tìm ra cách gỡ rối chúng!
Đầu vào
Đầu vào sẽ bao gồm khoảng trắng, đường ống và Xs (cả hai trường hợp). Đầu vào sẽ trông giống như thế này:
| | | |
X | |
| | x
| X |
| | | |
Chữ in hoa X có nghĩa là dây bên trái đi qua dây bên phải và chữ thường x có nghĩa ngược lại. Các dòng đầu tiên và cuối cùng sẽ luôn luôn là | | | |...
. Bạn có thể lấy đầu vào dưới dạng một chuỗi được phân tách bằng dấu phẩy, một chuỗi các chuỗi, v.v ... Định dạng không nghiêm ngặt, miễn là nó có ý nghĩa và không chứa bất kỳ thông tin bổ sung nào.
Đầu ra
Đối với thử thách này, tôi không chỉ cần biết mình sẽ mất bao lâu, tôi còn cần biết chính xác phải làm gì. Vì vậy, hãy đưa ra một danh sách các cặp số nguyên có ký tự R hoặc L, không phân biệt chữ hoa chữ thường, đại diện cho hai dây để gỡ rối và cách nào (R có nghĩa là phải qua trái và ngược lại với L). Bạn cần cho tôi biết cách nào để mở ra chúng; Tôi không thể tự mình tìm ra điều đó. Đầu ra cũng khá linh hoạt, miễn là bạn xuất tất cả các cặp số nguyên + ký tự theo đúng thứ tự và bạn không xuất bất kỳ văn bản vô nghĩa nào thêm (dấu ngoặc, dấu phẩy, v.v.) đều ổn). Các dây có thể bằng 0 hoặc một chỉ mục, nhưng chỉ mục phải bắt đầu từ bên trái. Lưu ý rằng bạn phải gỡ rối từ dưới cùng, không phải trên cùng. Kiểu đầu ra phải nhất quán và vui lòng chỉ định cách bạn xuất ra nếu nó không rõ ràng. Trường hợp của nhân vật không nhất quán,
Đầu ra mẫu
Đối với đầu vào ví dụ ở trên, đầu ra sẽ giống như:
2 3 R
3 4 L
1 2 R
Định dạng đầu ra ở đây là danh sách các giá trị được phân tách bằng dòng mới. Đây là 1 chỉ mục.
Thông số kỹ thuật khác
Nó là hợp lệ để có X và x xếp chồng lên nhau theo thứ tự. Vì tôi lười biếng, tôi không muốn chuyển đổi dây xung quanh một cách không cần thiết, vì vậy đừng xuất bất cứ thứ gì cho những trường hợp này; nếu tôi thấy điều đó, tôi sẽ chỉ cần kéo nhẹ dây để làm cho chúng thẳng.
Cũng có giá trị khi có nhiều X và x xếp chồng lên nhau theo chiều dọc và miễn là không có dây nào liên quan đến các giao cắt khác, tôi không muốn có thêm bất kỳ động thái nào (vì tôi lười biếng). Do đó, nếu các ký tự X X x X x x
hiển thị trong một cột mà không có bất kỳ giao cắt nào khác, đầu ra vẫn phải trống!
Trong trường hợp điều này không rõ ràng, R sẽ loại bỏ X và L loại bỏ x.
Có thể có hai giao điểm dây trong cùng một hàng, trong trường hợp đó thứ tự của hai lần hoán đổi này không thành vấn đề. Bạn sẽ không bao giờ có được một cái gì đó như thế | X X |
(điều này không có ý nghĩa bởi vì nó ngụ ý rằng dây giữa đang được bắt chéo qua dây bên trái và bên phải của nó).
Không phải lúc nào cũng giao nhau ...
Đầu vào có thể là một ống duy nhất. Tuy nhiên, đầu vào sẽ không bao giờ để trống.
Giải pháp hợp lệ ngắn nhất sẽ thắng vào ngày 20 tháng 12!
Thêm ví dụ
Như tôi đã hứa:
ví dụ 1
Đầu vào
| | | | | |
| | X x
X | x |
| x | X
X X | |
| | | | | |
Đầu ra
1 2 R
3 4 R
2 3 L
5 6 R
1 2 R
4 5 L
3 4 R
5 6 L
Ví dụ 2
Đầu vào
| | |
X |
| x
| | |
| X
| x
| | |
Đầu ra
2 3 L
1 2 R
Ví dụ 3
Đầu vào
|
Đầu ra trống. Vâng, bạn phải đối phó với trường hợp này.
Ví dụ 4
Đầu vào
| |
X
x
X
x
X
x
X
x
X
x
| |
Đầu ra trống. Chỉ để cho vui thôi :).
Ví dụ 5
Đầu vào
| |
X
X
x
X
x
x
| |
Đầu ra vẫn trống ...