도전
다음과 같이 보이는 친구에게지도를 제공했습니다.
|
/
|
/
|
\
|
\
D
상단에서 시작하여 하단에서 끝나는 간단한지도. 슬프게도, 친구는 그것을 얻지 못합니다. 그가 읽을 수 있도록지도를 해독 할 수 있습니까?
입력
입력이 이루어지는 문자열이며 |
, /
, \
, D
, ^
, Y
, (공간) , 개행.
|
같은 열에 머 무르라고 지시합니다.\
열의 오른쪽과 아래쪽으로 이동하도록 지시합니다./
왼쪽과 아래로 열로 이동하도록 지시합니다.D
목적지를 표시합니다.^
(있는 경우) 경로의 분할을 알려줍니다.Y
(있는 경우) 경로 재결합을 알려줍니다. 처럼 취급하십시오|
.
입력은 일종의 경로를 만들도록 배열됩니다.
|
|
\
|
^
/ \
/ |
D |
두 경로 사이에는 항상 공백이 있으며 모든 경로는 다시 입력되거나 입력의 마지막 줄에 도달합니다. 지도 당 하나의 스플릿 만 있습니다. 입력 맵의 길이에는 제한이 없습니다. 경로는 두 개를 넘을 수 없습니다.
산출
출력은 일련의 지시 사항이어야합니다.
- " L "은 친구에게 L eft 를 움직이고 1 단계 앞으로 나아갈 것을 지시해야합니다.
- " R "은 친구에게 오른쪽 으로 이동 하고 1 단계 앞으로 이동하도록 지시해야 합니다.
- " F "는 친구에게 1 단계 앞으로 이동하도록 지시해야합니다.
입력 예제 맵의 경우 출력은 다음과 같습니다.
F F L F R R R
친구가지도 상단에서 시작하여지도를 아래로 향하게합니다. 그의 관점에서 지시를주십시오. "^"인스턴스의 경우 프로그램에서 대상 (D)으로 연결되는 경로를 선택할 수 있어야합니다. 두 경로가 다시 결합되면 프로그램은 |
따라야 할 가장 직선 경로 (가장 높은 경로)를 선택해야합니다 . 방향 공간에 의해 분리되어야하며 끝나야 에 D .
예
입력
|
|
\
\
^
/ |
| |
\ |
\ \
\ \
\ /
Y
D
산출
F F L L L F F F L L R F
가장 왼쪽 경로는 1 만 포함하므로 |
3을 가진 가장 오른쪽 경로를 사용합니다.
입력
\
|
/
|
\
|
/
D
산출
L F R F L F R
입력
/
\
/
\
^
\ \
D \
산출
R L R L R L
기타 세부 사항
- 이것은 코드 골프이므로 8 월 19 일 수요일까지 코드가 가장 짧은 사람이 승리합니다.
- 건설적인 피드백은 매우 환영합니다.
- 부분적으로 영감 숨겨진 보물에지도
- 제목을 더 창의적인 것으로 변경하십시오.
- 내가 실수 한 것을 발견하면 바로 잡으십시오.
- 물론 재미있게 보내십시오.
감사합니다!
조금 늦었지만 UndefinedFunction은 JavaScript의 승자 코딩입니다! 들어온 모든 분들께 감사드립니다. 다른 항목은 접수되지 않습니다.
L
대한 하나 ^
와 둘 L
에 대한 두 가지 가 없어야 /
합니까? 그리고 예제 F
의 끝에 왜 두 개 를 더 추가 했 Y
습니까?
L L
끝나야한다고 생각합니다L L L
. 의 예는Y
여전히1
끝에 있으며 다른 오류가있는 것 같습니다.F F R R R F F F R R L F
규칙을 올바르게 이해하는 것처럼지도를 읽습니다 .