Klamki są świetne, ale kiedy otworzysz drzwi, zawsze wgniatają ściany wokół nich. Potrzebuję, abyś wziął udział w sztuce ASCII pokoju, tak jak to:
+---------+--X --X --+-----+
| \ \ |\ | \ |
| \ \ | \ | \|
| X | \ | X
| / | | \ X
| / | \ /
| / | \ / |
+---X --+-------X------+-----+
I wyślij pokój ze stoperami, tak jak to:
+---------+--X --X --+-----+
| \ . \ |\ | \.|
| \ \ | \ .| \|
| X | \ | X
| / | |. \ X
| / .| \ /
|. / | .\ / |
+---X --+-------X------+-----+
Specyfikacja:
- Pomieszczenie ASCII (wejście) składa się z
+,-i|. Te postacie są czysto kosmetyczne; wszyscy mogliby być+s, ale to wyglądałoby okropnie. Będzie także zawierać zawiasy (X) i drzwi (/lub\). - Drzwi składają się z
/lub\. Zaczynając od znaku „zawiasu”, czyliXidą bezpośrednio po przekątnej (zmiana 1 wxi 1 wy) dla 2 lub więcej jednostek (postaci). Aby dowiedzieć się, gdzie umieścić odbojnik do drzwi (zawsze jest tylko jeden odbojnik na drzwi), znajdź drzwi do drzwi. Drzwi zawsze zaczynają się od jednego zawiasu i stamtąd przechodzą taką samą liczbę miejsc, jak długość drzwi w górę, w dół, w lewo lub w prawo. Następnym miejscem po tym będzie zawsze ściana. Na przykład w tych drzwiach drzwi są oznaczone przez
Ds:\ \ ---DDX-----Gdy znajdziesz drzwi, dowiedz się, czy musisz dotrzeć do drzwi w prawo, czy w lewo. Na przykład w powyższych przykładowych drzwiach musisz iść w kierunku zgodnym z ruchem wskazówek zegara, aw tym przypadku musisz iść w kierunku przeciwnym do ruchu wskazówek zegara:
\ <- \ ) -----X ---Kiedy już wiesz, którą drogą iść, idź tą drogą (ignorując drzwi), aż dojdziesz do ściany.
Oto wizualizacja tego dla przykładowych drzwi powyżej:

Niebieski jest bramą, pomarańczowy stwierdza, że musisz iść w prawo, a czerwony kontynuuje w prawo, aż do ściany.
Po dotarciu do ściany przejdź (na długości drzwi) odstępy od zawiasu (
X) na tej ścianie, odsuń jedno miejsce od ściany w kierunku drzwi (aby nie umieścić odbojnika bezpośrednio na ścianie) i włóż.tam. Oto te same przykładowe drzwi pokazujące sposób ustawienia blokady drzwi:\ \ . ---DDX12---Powtórz dla wszystkich drzwi i wyślij wynik! Użyj przykładowego wejścia u góry tego postu jako przypadku testowego, aby sprawdzić, czy Twój program jest prawidłowy.
Pamiętaj, że nie musisz obsługiwać drzwi, które nie pasują do ich ścian, takich jak:
| / | / | / | / +-X --Lub:
/ / / +-X -- | |- To jest golf-golf , więc wygra najkrótszy kod w bajtach.