도전
로봇이 새끼 고양이를 가능한 한 적은 단계로 찾는 데 도움이되는 문자 수로 가장 짧은 코드.
골퍼들, 이것은 위기의 시간입니다-새끼 고양이가 사라졌고 그것을 찾는 로봇의 일입니다! 로봇은 가능한 가장 짧은 경로에서 새끼 고양이에게 도달해야합니다. 그러나 로봇 방식에는 많은 장애물이 있으며, 솔루션을 프로그래밍해야합니다.
로봇은 그에게 프로그램을 제공했지만 그 프로그램을 잃어 버렸고 로봇에는 백업이 없습니다.
로봇의 런타임은 최고가 아니며 로봇이 소스 코드에서 읽어야하는 최소 문자, 처리 시간이 가장 짧기 때문에 Kitten을 더 빨리 찾을 수 있습니다!
로봇의 기억에는 그가 현재 위치의지도가 포함되어 있으며, 위쪽은 북쪽, 아래쪽은 남쪽, 오른쪽은 동쪽, 왼쪽은 서쪽입니다 로봇은 항상 #
자신의 레이더 맵에 표시된 벽으로 둘러싸인 알 수없는 크기의 직사각형 방에 있습니다. 로봇이 걸을 수있는 영역은 공백으로 표시됩니다 .
로봇의 레이더는 또한 실내의 많은 장애물을 스캔하여 다양한 ASCII 문자로 표시합니다. 로봇은 이러한 장애물을 가로 질러 걸을 수 없습니다. 레이더는 Kitten을 특수 ASCII 문자 K
로 표시하고 로봇의 위치는로 표시됩니다 R
.
로봇의 내비게이션 시스템은 다음과 같이 작동합니다. 그는 이동해야하는 방향과 이동 유닛의 수를 이해할 수 있습니다 N 3
. 로봇의 레이더 맵은 이동 단위가 하나의 ASCII 문자가되도록 만들어집니다. 로봇은 4 방향으로 만 갈 수 있으며 대각선으로 이동할 수 없습니다.
용감한 새끼 고양이 보호기의 임무는 로봇의 레이더 맵을 한 번 읽고 최소한의 이동 단위 이동 거리로 최소량의 방향을 출력하는 것입니다. 로봇은 적어도 하나의 새끼 고양이 경로가 있어야합니다.
로봇이 새끼 고양이를 찾는 데 도움이되지 않는 오작동 프로그램을 실행하는 데 시간을 허비하지 않기 위해, 용감한 새끼 고양이 보호기는 로봇의 과거 프로그램의이 출력을 사용하여 새끼 고양이를 찾는 데 시간이 낭비되지 않도록하십시오.
테스트 사례
Input:
######################
# d 3 Kj #
# #
# R #
# q #
######################
Output:
E 13
N 2
Input:
######################
# d r 3 Kj #
# p p #
# T X #
# q s t #
# #
# R o d W #
# #
# g t U #
# #
######################
Output:
N 1
E 10
N 4
E 2
Input:
######################
# spdfmsdlwe9mw WEK3#
# we hi #
# rdf fsszr#
# sdfg gjkti #
# fc d g i #
# dfg sdd #
# g zfg #
# df df #
# xcf R#
######################
Output:
N 1
W 9
N 5
E 4
N 1
E 4
N 1
코드 카운트에는 입 / 출력 (전체 프로그램)이 포함됩니다.