어린이 코딩에 관한 Google 기념일 로고 : 모든 레벨을 해결하는 가장 짧은 프로그램


26

오늘날 Google 기념일 로고는 50 년 동안 키즈 코딩을 축하 하는 것입니다. 목표는 모든 당근을 먹을 수 있도록 작은 토끼의 길을 프로그램하는 것입니다. 4 가지 유형의 블록이 있습니다 (아래 그림 참조).

블록 설명

왼쪽에서 오른쪽으로:

  • O("...", k)= 주황색 조각 : 이들은 fork 번의 프로그램을 실행 하는 루프입니다 "...".
  • G = 초록색 조각 : 가능하면 한 단계 앞으로 나아가십시오.
  • Bl = 파란색 조각 : 우회전하여 같은 블록에 머물러 있습니다
  • Br = 파란색 조각 : 좌회전하여 같은 블록에 머물러 있습니다

큰 프로그램

위의 코드는 다음과 같이 작성할 수 있습니다

O(O(G G Br, 4) Bl Bl, 23)

각 블록 ( G, Bl, Br, O(...,k))은 1 단위로 계산되므로이 프로그램의 길이는 7입니다.의 값보다 k1 단위 안에 포함됩니다 O.

6 가지 레벨이 있습니다. 레벨을 끝내려면 모든 당근을 먹어야합니다. 프로그램이 완전히 실행되지 않으면 마지막 당근을 먹을 때 레벨이 직접 완료됩니다.

모든 레벨에서 4 가지 유형의 블록을 모두 사용할 수 있다고 가정합니다.

당신의 임무는 게임의 모든 레벨을 해결하는 단일 프로그램을 찾는 것입니다.
블록에서 가장 짧은 프로그램이 이깁니다.

각 레벨의 스크린 샷 :
레벨 1 : 레벨 2 : 레벨 3 : 레벨 4 : 레벨 5 : 레벨 6 :레벨 1 스크린 샷
레벨 2 스크린 샷
레벨 3 스크린 샷
레벨 4 스크린 샷
레벨 5 스크린 샷
레벨 6 스크린 샷

답변:


24

내 대답이 아니야

6 블록

사용자 Alex 는 길이가 6 인 더 짧은 솔루션을 찾았습니다.

O(O(Br G G, 6) Br, 5)

6 블록

그들은이 질문을 편집 하여이 답변을 추가하려고 시도했기 때문에 여기에 표시되기를 원한다고 가정합니다. 평판 시스템이 어떻게 작동하는지 좋아하지 않습니다.

그들이 남긴 메시지 :

이 편집기는 10 개의 담당자가 없지만 길이가 6 인 해를 갖습니다. O (O (RGG, 6) R, 5)

며칠 후 그들은 다음과 같이 게시물을 수정하여 다시 응답했습니다 . 그래도 원합니다. "

이전 답변

7 블록

O(O(G G Br, 4) G Br, 100)

인내심이 필요합니다.

편집 : 이미지가 잘못되었습니다. 7 블록


잘 찾아라! 나는이 접근법을 시도했지만 9 블록 솔루션을 포기하고 가기 전에이 특정 조합에서 발생하지 않았습니다.
Sparr

2
사용자 Alex 는 더 짧은 해결책을 찾았다 고 주장합니다.
Jonathan Frech

@JonathanFrech 그는 정말로있다! 그 10-rep 제한은 성가신 일입니다. 스팸을 방지해야한다고 생각하지만, 새로운 사용자가 최소한 적당한 답변을 게시해서는 안됩니까? 말과 물건의 자유.
Reinis Mazeiks

@RM 나는 또한 문제를보고 약간 짜증났다. 나는 아마 알렉스에 대한 좌절이기 때문에 SE는 단순히 일회성 답변을 위해 설계된 것이 아니라고 생각합니다 ...
Jonathan Frech

1
왜 새로운 답변으로 게시하지 않고 기존 답변으로 수정 했습니까?
Sparr

12

실제로, 나는 8 블록으로 해결책을 찾았습니다.

O(O(O(G,4)R,4)GGR,4)

6

수동으로 발견, 9 블록

O(O(GRGLGR,4)L,4)

나는 명백한 시작 O(O(GGR,4)L,4)해결할 수있는 문제 수준은 1-5 가장 짧은이 간단한 각 "다리의 중간에 오른쪽 앞으로 왼쪽 된 6 레벨을 완료하는 것 하나를 찾아 그 수준에 효율적으로 널 이동을 추가하는 몇 가지 변화를 시도하는 것이 따라서 전진 이동은 효과가 없었습니다.


1
이것은 아마도 최적 일 것입니다. 이는 도전이 이미 끝났음을 의미합니다. :(
totallyhuman

6
@totallyhuman은 아직 커뮤니티가 아직 완료되지 않은 것으로 밝혀졌습니다 : P
HyperNeutrino

"명백한 O(O(GGR,4)L,4)"은 게임에서 볼 수 있듯이 레벨 4의 최단 솔루션이 7이라는 것을 반증합니다.
mik

1
@mik 게임 솔루션은 루프 크기 변경이나 아무것도하지 않는 동작에 의존하지 않습니다.
Neil

@totallyhuman 당신이 예측하는 것은 잘못되었습니다 :). 질문이 게시 된 지 1 년이 지난 후에도 더 나은 솔루션이 발견되었습니다.
Surb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.