알코올의 영향을받는 격자 위의 사람은 모든 방향으로 갈 가능성이 동일하다는 것은 잘 알려져 있습니다. 그러나이 상식적인 진술은 아주 작은 술꾼 의 영역에는 적용되지 않으며 , 그 행동은 마치 한 번에 모든 가용 경로를 취하는 것처럼 행동 하며 가능한 경로가 서로 간섭 할 수 있습니다. 당신의 임무는 n
단계 후 이러한 양자 취한 사람의 가능한 위치를 표시하는 것 입니다.
사양
문제의 음주는 정사각형 격자를 차지하며 다음과 같은 간단한 규칙을 따르는 Von Neumann (플러스 모양) 이웃을 사용하는 3 상태 셀룰러 오토 마톤으로 간주 될 수 있습니다.
Empty
가는Awake
정확히 하나에 인접한 경우Awake
와 그렇지 않은 경우로 이동Empty
Awake
로 이동Sleeping
Sleeping
로 이동Sleeping
보드의 초기 상태 Awake
는 Empty
s 의 무한 필드로 둘러싸인 단일 입니다.
도전
음이 아닌 정수가 주어지면 단계 n
후 술고래의 ASCII 표현을 작성 n
하십시오. 각 상태는 다른 문자로 표시되어야하며 솔루션은 어떤 문자가 어떤 상태를 의미 하는지를 명시해야합니다. 에 공백을 사용 Empty
하는 경우 줄 끝에 공백 을 포함 할 필요가 없습니다.
이것은 code-golf 이므로 가장 짧은 답변이 이깁니다. 표준 허점 적용, 선행 및 후행 공백 허용, 문자열 배열 / 2d 문자 배열 출력 허용 등
예
이 예제 는
Empty
, @
for Awake
및 #
for에 사용 Sleeping
합니다.
n=0
@
n = 1
@
@#@
@
n = 2
@
#
@###@
#
@
n = 3
@
@#@
@ # @
@#####@
@ # @
@#@
@
n=6
@
#
@###@
@#@
@ ### @
#@# # #@#
@###########@
#@# # #@#
@ ### @
@#@
@###@
#
@
n=10
@
#
@###@
@#@
###
# # #
#######
# ### #
@ ## ### ## @
#@# ### # ### #@#
@###################@
#@# ### # ### #@#
@ ## ### ## @
# ### #
#######
# # #
###
@#@
@###@
#
@
재미있는 메모
OEIS에서 점유 된 세포의 수의 서열을 조사함으로써, 양자 술고래가 훨씬 더 잘 연구 된 이쑤시개 서열 과 동형이라는 것을 발견했다 . 그 지식을 더 나은 골프에 포함시킬 수 있다면 나는 감명받을 것입니다.
n=10
가 올바른지 확인할 수 있습니까 ? 나는 몇 가지 접근 방식을 시도했지만 모두 동일한 (잘못된) 대답을 얻으므로 확인하고 싶습니다. 조금 떨어져 보이지만 모르겠습니다.