> <>,> <>는 인생입니다! 2D 언어는 놀랍습니다! 이 도전에서는 코드 골프를하는 동안 "비린내"도로가 끝났는지 말해야합니다.
정의
비포장 도로는 다음을 포함하여 타일로 구성됩니다.
v (go down)
> (go right)
^ (go up)
< (go left)
/ (mirror)
\ (mirror)
-|+
도로 경계에있는 일부 꽃 (또는 물고기 머리)과 같이 다른 문자 (제외 )는 산만으로 간주 될 수 있습니다.
도로는 항상 -|+
기호로 구분 된 직사각형 격자의 왼쪽 상단에서 시작합니다 . 길을 따라 가면 국경에 닿으면 끝이납니다. 그렇지 않으면 무한한 길에 갇히게됩니다.
길에서 길을 찾는 것은 v>^<
거울 과 지시에 따라 수행됩니다 . 거울은 어디에서 왔는지에 따라 90 ° 반사됩니다. 작동 방식은 다음과 같습니다 ( v>^<
길 찾기 표시).
^ ^
>/< >\<
v v
</> <\>
^ ^
도로가 끝나는 경우 다음과 같이 보일 수 있습니다.
+--------------------+
|>\/ this way >\/> | this one ends here
| v^ \/ |
| v^ ^.^ |
| \/\ >v |
| /\/ ^< |
+--------------------+
무한 루프 :
+--------+
|>>\ This|
|\\ is |
| \\ a |
| \ /trap|
+--------+
사양
도로가 반드시 지시만으로 구성되는 것은 아닙니다. 공백이나 문자를 사용하여 완성 할 수 있습니다. 즉,의 문자를 교차하는 경우를 제외하고는 같은 방향으로 계속 움직여야합니다 <v^>-|
.
항상 v>^<
왼쪽 상단에 <
하나가 ^
있거나이 도로 끝을 의미합니다.
문자열을 매개 변수로 사용하는 함수 또는 STDIN을 사용하는 독립형 프로그램 / 언어에서 가장 가까운 대안을 제출할 수 있습니다.
제출이 완료되면 제출물이 STDOUT 진실 / 거짓 값으로 반환되거나 인쇄되어야합니다. 도로가 끝났음을 의미하는 값진 값, 거짓은 무한 루프임을 의미합니다.
테스트 사례
+--------------------+
|>\/ this way >\/> | this one ends here
| v^ \/ |
| v^ ^.^ |
| \/\ >v |
| /\/ ><> ^< |
+--------------------+
True
+--------+
|>>\ This|
|\\ is |
| \\ a |
| \ /trap|
+--------+
False
+--+
|<v|
|^<|
+--+
True
+--+
|>v|
|^<|
+--+
False
+----------+
|v Hello \ |
|\\/\/ / |
| \/\\ \ |
|/ // >\ |
| ^/\>\\/ |
|\ /\/\/ |
+----------+
False
+-----+
|>\/\\|
|//\\/|
|\/\\\|
|//\//|
|\/\/ |
+-----+
True
2 test cases added as suggested by @MartinBüttner
+----+
|v |
|\\ |
|//\ |
|\\v |
| \/ |
+----+
False
+----+
|v |
|\\ |
|//\ |
|\\^ |
| \/ |
+----+
False
Test case inspired by @ETHproductions
+-------------------------+
|><> |
|something smells fishy...|
+-------------------------+
False
표준 허점 은 항상 금지되어 있습니다.
가장 짧은 코드는 바이트 단위입니다. (> <> 답변을 보는 것이 놀랍습니다 :))