แรงบันดาลใจจากหนึ่งในวิดีโอของ Vi Hart (ซึ่งเป็นขุมสมบัติที่เต็มไปด้วยความคิดที่ท้าทาย)
งูประกอบด้วยส่วนที่มีความยาวเท่ากันและการเชื่อมต่อระหว่างแต่ละส่วนนั้นอาจจะตรงหรือเลี้ยว 90 °
เราสามารถเข้ารหัสเช่นงู (ได้ถึงการหมุนซึ่งขึ้นอยู่กับทิศทางเริ่มต้น) โดยการเขียนลงเลื้อยทิศทางของการผลัด (ตรง / ซ้าย / ขวา) ที่ใช้ใน อันนี้เริ่มจากซ้ายบนและชี้ไปทางขวา
-+ +--+ SR RSSR
| +-+ | S RSL S
+--+ --+ LSSL SSR
จะถูกแสดงโดย slither SRSLSSLRLRSSRSRSS
และแน่นอนว่างูระนาบไม่สามารถตัดกัน (เหมือนในSSSSLLLSS
) ซึ่งจะส่งผลให้เกมโอเวอร์พิกเซล
งานของคุณคือการตรวจสอบว่า slither ถูกต้องหรือไม่ (ผลในการแยกตนเองอย่างน้อยหนึ่งครั้ง)
อินพุต
สตริงที่ทำจากตัวอักษรSLR
ด้วย2 < length < 10000
Output
Something Truthy ถ้ามันเป็น slither ที่ถูกต้องและเป็น Falsey ถ้าไม่ใช่
กรณีทดสอบ
__Valid__
SSLSLSRSRSSRSSSLLSSSRRLRSLRLLSSS
SRRLSLLRRLLSLRRSRLLRSRRLLRRSRLLSSLLRSRRLLRRSRLLRSRRLSLLRRLLSLRR (A hilbert curve)
RLLRSRRLSLLRRLLSLRRSRLLRSRRLLRRSRLLSSLLRSRRLLRRSRLLRSRRLSLLRRLLSLRRSRLLRSRRLLRRSRLLSSLLRSRRLLRR
SRRSRSRSSRSSRSSSRSSSRSSSSRSSSSRSSSSSRSSSSSRSSSSSSRSSSSSSRSSSSSS (Spiral)
SSSSSSSSSSLSSSSSSSLSSSSSSSSLSSSSSLSSSSSSLSSSLLRRLLRRLLSLSSSRRSSSSRSSSRSSSSSSRSSSSSRSSSSSSSSRSSSSSSSRSSSSSSSSS (bigger, squigglier spiral)
LRSLLRLSRSLLSRLSLRSLSSSLRRSSLSRRLRSRLRLSLRLLRLRSSLSLRLRSRSSSSSLSRRLSLSSSRRLRLRLRLRRLLSSLSSSRRLRLRLRLRLSLSSSSSSSSSSSSSRLRLLRLRLRLRLRLRLRLSLSSSLSLSLL
__Invalid__
SRRLSLLRRLLSLRRSRLLRSRRLLRRSRLLLLRSRRLLRRSRLLRSRRLSLLRRLLSLRR
SRRLSLLRRLLSLRRSRLLRSRRLLSRSSSRSSSSSSSRSRSSSSSSSRRLLRRSRLLRSRRLSLLRRLLSLRR
SRRSRSRSSRSSRSSSRSSSRSSSSSSSSSSRSSSSRSSSSSRSSSSSRSSSSSSRSSSSSSRSSSSSS
SSSSSSSSSSLSSSSSSSLSSSSSSSSLSSSSSLSSSSSSLSSSLLRRLRLRRLLSLSSSRRSSSSRSSSRSSSSSSRSSSSSRSSSSSSSSRSSSSSSSRSSSSSSSSS
LRSLLRLSRSLLSRLSLRSLSSSLRRSSLSRRLRSRLRLSLRLLRLRSSLSLRLRSRSSSSSLSRRLSLSSSRRLRLRLRLRRLLSSLSSSRRLRLRLRLRLSLSSSSSSSSSSSSSRLRLLRLRLRLRLRLRLRLSLSSSLSLSLLSLRLSLRSLRSLRSLSLSLRSRLSLRSLRLSRSLLLRLRLRRRRSLSLSSLLSLSLSLSSLLSLSLLRLRSLLRSRLSLSSLLLLSSSSSSSSSSSSSSSSSSSSRLRLLRRLRLRLLRLRLRLRLRLSSSSLSLRLLRLSLSSLSLSLSLSLRLLRLSLLLSRSSSSSSSSSSSSSSSRLRLRLLRLRLSLSRSRSSSLSRLRLRLRSLSLSLSRLLSRLSLSLSLSLSSLSLSLLSLSRLLRLRLRLRLRLRLRLRLRLRLSLSRLRLSLLRRLSLLSLSLSLSLSLLSLSLSLRLRLRLRLRLRLRLRLRLRRLRSLSLSLSLSLSLSLSSLSSSSSLSLSSSLSLSLSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
คุณสามารถวาด slithers ที่นี่ (R และ L พลิก แต่ไม่มีผลต่อความถูกต้อง)
SRRR
บนกระดาษกราฟที่มีหนึ่งตารางต่อเซ็กเมนต์แล้วมันจะทับซ้อนกันและดังนั้นจึงไม่ถูกต้องRRR
อย่างไรก็ตามจะใช้พื้นที่ 2x2 ตารางโดยไม่ทับซ้อนกัน (เหมือนในเกมคลาสสิค)