Мої дроти всі заплутані!
Чи не прикро, коли дроти все заплутуються? Що ж, зі мною щойно сталося, тому я хотів би допомогти мені розплутати їх! Для вашої зручності я від’єднав їх усіх від пристрою, але вони все ще підключені до розетки. Ваше завдання - розібратися, як їх розплутати!
Вхідні дані
Вхід буде складатися з пробілів, труб та Xs (обидва випадки). Вхід буде виглядати приблизно так:
| | | |
X | |
| | x
| X |
| | | |
Велика величина X означає, що лівий провід перетинається через правий провід, а нижній регістр х означає протилежне. Перший і останній рядки завжди будуть | | | |.... Ви можете сприймати дані як рядки, відокремлені комами, масив рядків тощо. Формат не суворий, якщо він має сенс і не містить додаткової інформації.
Вихідні дані
Для цього виклику потрібно не тільки знати, скільки часу займу, я мушу точно знати, що робити. Отже, виведіть список цілих пар з символом R або L, нечутливий до регістру, який представляє, які два дроти слід розплутати і в який спосіб (R означає праворуч ліворуч, і навпаки для L). Вам потрібно сказати мені, яким способом розкреслити їх; Я не можу цього зрозуміти. Вихід також є досить гнучким, доки ви виводите всі цілі пари + символ у правильному порядку, і ви не видаєте зайвий безглуздий текст (дужки, коми тощо). Провід може бути нульовим або індексованим, але індекс повинен починатися зліва. Зверніть увагу, що ви повинні розплутати знизу, а не зверху. Стиль виведення повинен бути узгодженим, і, будь ласка, вкажіть, як ви виходите, якщо це не очевидно. Випадок символу не повинен бути послідовним,
Вибірка зразка
Для прикладу, наведеного вище, вихід буде приблизно таким:
2 3 R
3 4 L
1 2 R
Формат виводу тут - це розділений на новий рядок список значень, розділених пробілом. Це 1-індексований.
Подальші технічні характеристики
Дійсно, щоб X і x були розташовані вертикально один над одним у будь-якому порядку. Оскільки я лінивий, я не хочу перемикати дроти навколо, тому нічого не виводьте для цих випадків; якщо я це знайду, я просто потягну дроти, щоб їх прямо.
Також справедливо мати кілька X і x, складених вертикально, і поки жоден провід не задіяний в інших перехрестях, я не хочу зайвих рухів (бо я лінивий). Таким чином, якщо символи X X x X x xвідображаються у стовпці без будь-яких інших схрещувань, вихід має бути порожнім!
Якщо це не зрозуміло, R усуває X, а L усуває x.
У одному ряді можуть бути два перетину дроту, в такому випадку порядок цих двох свопів не має значення. Ви ніколи не отримаєте чогось подібного | X X |(це не має сенсу, оскільки це означає, що середній провід перетинається через дроти зліва і справа).
Переходи не завжди ...
Вхід може бути однією трубою. Однак введення ніколи не буде порожнім.
Найкоротше дійсне рішення виграє 20 грудня!
Більше прикладів
Як я і обіцяв:
Приклад 1
Вхідні дані
| | | | | |
| | X x
X | x |
| x | X
X X | |
| | | | | |
Вихідні дані
1 2 R
3 4 R
2 3 L
5 6 R
1 2 R
4 5 L
3 4 R
5 6 L
Приклад 2
Вхідні дані
| | |
X |
| x
| | |
| X
| x
| | |
Вихідні дані
2 3 L
1 2 R
Приклад 3
Вхідні дані
|
Вихід порожній. Так, вам доведеться розібратися з цією справою.
Приклад 4
Вхідні дані
| |
X
x
X
x
X
x
X
x
X
x
| |
Вихід порожній. Задля розваги :).
Приклад 5
Вхідні дані
| |
X
X
x
X
x
x
| |
Вихідні дані залишаються порожніми ...