Zainspirowany jednym z filmów Vi Harta (które są skarbnicą pełną potencjalnych pomysłów na wyzwania)
Wąż składa się z segmentów o tej samej długości, a połączenie między każdym segmentem może być proste lub wykonać obrót o 90 °.
Możemy zakodować takiego węża (do obrotu, który zależy od początkowego kierunku), zapisując ślizgacz , kierunek zwojów (Prosto / Lewo / Prawo). Ten, zaczynający się w lewym górnym rogu i wskazujący w prawo
-+ +--+ SR RSSR
| +-+ | S RSL S
+--+ --+ LSSL SSR
Byłby reprezentowany przez ślizgacz SRSLSSLRLRSSRSRSS
I oczywiście wąż planarny nie może się przecinać (jak w środku SSSSLLLSS
), co spowodowałoby straszne pikselowe zakończenie gry.
Twoim zadaniem jest ustalenie, czy ślizgacz jest prawidłowy, czy nie (skutkuje co najmniej jednym przecięciem się)
Wejście
Ciąg wykonany z liter SLR
z 2 < length < 10000
wyjściem
Coś prawdy, jeśli jest to prawidłowy ślizg, a coś Falsey, jeśli nie.
Przypadki testowe
__Valid__
SSLSLSRSRSSRSSSLLSSSRRLRSLRLLSSS
SRRLSLLRRLLSLRRSRLLRSRRLLRRSRLLSSLLRSRRLLRRSRLLRSRRLSLLRRLLSLRR (A hilbert curve)
RLLRSRRLSLLRRLLSLRRSRLLRSRRLLRRSRLLSSLLRSRRLLRRSRLLRSRRLSLLRRLLSLRRSRLLRSRRLLRRSRLLSSLLRSRRLLRR
SRRSRSRSSRSSRSSSRSSSRSSSSRSSSSRSSSSSRSSSSSRSSSSSSRSSSSSSRSSSSSS (Spiral)
SSSSSSSSSSLSSSSSSSLSSSSSSSSLSSSSSLSSSSSSLSSSLLRRLLRRLLSLSSSRRSSSSRSSSRSSSSSSRSSSSSRSSSSSSSSRSSSSSSSRSSSSSSSSS (bigger, squigglier spiral)
LRSLLRLSRSLLSRLSLRSLSSSLRRSSLSRRLRSRLRLSLRLLRLRSSLSLRLRSRSSSSSLSRRLSLSSSRRLRLRLRLRRLLSSLSSSRRLRLRLRLRLSLSSSSSSSSSSSSSRLRLLRLRLRLRLRLRLRLSLSSSLSLSLL
__Invalid__
SRRLSLLRRLLSLRRSRLLRSRRLLRRSRLLLLRSRRLLRRSRLLRSRRLSLLRRLLSLRR
SRRLSLLRRLLSLRRSRLLRSRRLLSRSSSRSSSSSSSRSRSSSSSSSRRLLRRSRLLRSRRLSLLRRLLSLRR
SRRSRSRSSRSSRSSSRSSSRSSSSSSSSSSRSSSSRSSSSSRSSSSSRSSSSSSRSSSSSSRSSSSSS
SSSSSSSSSSLSSSSSSSLSSSSSSSSLSSSSSLSSSSSSLSSSLLRRLRLRRLLSLSSSRRSSSSRSSSRSSSSSSRSSSSSRSSSSSSSSRSSSSSSSRSSSSSSSSS
LRSLLRLSRSLLSRLSLRSLSSSLRRSSLSRRLRSRLRLSLRLLRLRSSLSLRLRSRSSSSSLSRRLSLSSSRRLRLRLRLRRLLSSLSSSRRLRLRLRLRLSLSSSSSSSSSSSSSRLRLLRLRLRLRLRLRLRLSLSSSLSLSLLSLRLSLRSLRSLRSLSLSLRSRLSLRSLRLSRSLLLRLRLRRRRSLSLSSLLSLSLSLSSLLSLSLLRLRSLLRSRLSLSSLLLLSSSSSSSSSSSSSSSSSSSSRLRLLRRLRLRLLRLRLRLRLRLSSSSLSLRLLRLSLSSLSLSLSLSLRLLRLSLLLSRSSSSSSSSSSSSSSSRLRLRLLRLRLSLSRSRSSSLSRLRLRLRSLSLSLSRLLSRLSLSLSLSLSSLSLSLLSLSRLLRLRLRLRLRLRLRLRLRLRLSLSRLRLSLLRRLSLLSLSLSLSLSLLSLSLSLRLRLRLRLRLRLRLRLRLRRLRSLSLSLSLSLSLSLSSLSSSSSLSLSSSLSLSLSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
Możesz narysować tutaj ślizgawki (R i L są odwrócone, ale nie wpływa to na ważność)
SRRR
na papierze milimetrowym z jednym kwadratem na segment, wówczas będzie się on nakładał, a zatem jest nieprawidłowy, po prostu RRR
jednak zajmowałby dokładnie kwadrat 2x2 bez nakładania się (tak jak w klasycznej grze)