Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
FR_07_08 - Czerwony proszek |
Zapewne każdy z nas słyszał o sandboxowej grze, jaką jest Minecraft(coś wspaniałego ). Jako że zawsze bardzo interesowała mnie informatyka, najbardziej lubiłem tworzyć różnego rodzaju mechanizmy, bramki logiczne itp. Czerwony proszek — tzw. redstone był jednym z kluczowych dla mnie elementów rozgrywki, który służył do zasilania maszyn, bramek logicznych, ... Zmodyfikujmy trochę zasady gry i przenieśmy tę analogię — napiszmy program, który sprawdzi, czy jesteśmy w stanie przeprowadzić energię przez obszar o wymiarach 10 na 10. Zaczynamy w punkcie (0,0), wprowadzając tu energię na redstone, która musi dotrzeć do punktu (9,9), również na redstone. Wyjaśnijmy zasady. Energia może poruszać się tylko w poziomie i pionie, po czerwonym proszku (oznaczamy 'R'). Energia może przemieszczać się w zasięgu maksymalnie pięciu jednostek, długością tzw. sznura. Jeśli po pięciu jednostkach nie napotka wzmacniacza, tzw. repeatera (oznaczamy 'P'), to nie będzie w stanie pójść dalej. Jeśli zaś napotka wzmacniacz po pięciu jednostkach lub wcześniej, będzie w stanie przemieścić się kolejne pięć jednostek, w każdą następną stronę. Energia nie jest w stanie przenosić się bezpośrednio ze wzmacniacza na wzmacniacz. Drogi nie łączą się oraz nie zapętlają, również nie do chodzi do sytuacji, w której czerwony proszek przebiega bezpośrednio obok drugiego, łącząc się z nim, tworząc tzw. sieci(pola). Całą resztę oznaczamy dowolnymi innymi znakami np. 'O'.
Wejście
Na wejście programu zostanie podana pewna nieokreślona ilość 100-znakowych łańcuchów znaków, reprezentujących zawartość obszaru. Każdy łańcuch oddzielony jest znakiem nowej linii.
Wyjście
Na wyjściu programu ma pojawić się ciąg binarny, odpowiadający wejściu. Jeśli jesteśmy w stanie przeprowadzić energię z punktu (0,0) do punktu (9,9), wypisujemy 1, jeśli nie, to 0.
Przykład
Wejście: RROOOOOOOOORROOOOOOOOORPOOOOOOOOORROOOOOOOOORROOOOOOOOORPOOOOOOOOORROOOOOOOOORROOOOOOOOORPOOOOOOOOOR ROOOOOOOOOROOOOOOOOOROOOOOOOOOROOOOOOOOOROOOOOOOOOPOOOOOOOOOROOOOOOOOOROOOOOOOOOROOOOOOOOORRPRRRRRRR Wyjście: 1 0
Dodane przez: | Unmi |
Data dodania: | 2017-04-07 |
Limit czasu wykonania programu: | 0.100s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC BF NCSHARP COBOL D-CLANG D-DMD ELIXIR FANTOM GOSU GRV JS-MONKEY JULIA NIM OBJC OBJC-CLANG PICO PYPY3 RUST SCM qobi CHICKEN VB.NET |
ukryj komentarze
|
|||||
2017-04-09 01:35:23
Czy z jednego pola R nie będącego początkiem ani końcem wychodzą dokładnie 2 pola z R lub P ? |
|||||
2017-04-09 00:24:36
1. Ruchy w lewo i w górę są dozwolone. 2. Po każdym ciągu odpowiedź. |
|||||
2017-04-08 23:33:38
Jak powinno wyglądać wyjście - po każdym ciągu odpowiedź, czy po wszystkich ciągach wszystkie odpowiedzi ? Mimo, że mój program działa dobrze nie przechodzi pierwszego testu. |
|||||
2017-04-08 21:24:59
Czy ruchy w lewo i w górę są dozwolone ? |