스파이럴 메모리

코드 출현 2017 3일차



1 부


  • 밖으로 나갔다가 안으로? - 제어!
  • 이 나선의 DNA를 연구하고 퍼즐을 푸는 중

  • 밖을 나선 다음 안으로? - 제어!


  • 이전의 나선형 관련 퍼즐이 기억나지 않습니다
  • .
  • 재미있는 패턴 식별 퍼즐처럼 보입니다
  • .
  • 하지만 나선형이 어떻게 성장하는지 분석하려면 훨씬 더 큰 나선 조각을 봐야 합니다
  • .

    이 나선의 DNA를 연구하고 퍼즐을 풀다



    이 애니메이션은 실시간으로 발생하는 답변에 대한 분석 및 발견을 보여줍니다.


    이것은 스캐빈저 헌팅 알고리즘을 사용한 수동 프로세스였습니다.

    Start with num as 1 and n as 0
    Trying offsets between 1 and 8
    Do as long as num is less than or equal to my puzzle input
      Increment num by the sum of offset and (the product of 8 and n)
      Increment n by 1
      Print the current states of num and n
    


  • offset7가 내 퍼즐 입력
  • 에 가장 가깝고 약간 더 큽니다.
  • 고맙게도 이 오프셋은 바로 아래에 있는 나선의 숫자에 해당합니다1.
  • 거기에서 퍼즐 입력
  • 에 도달하기 위해 해당 숫자에서 충분히 뺍니다.
  • 그 숫자는 남은 걸음 수였습니다
  • .
  • 따라서 내 알고리즘의 단계 감소량(n)과 남은 단계 수의 합계가 내 대답이었습니다!

  • 2 부


  • 으악, 나선을 만들어야 할지도 몰라
  • 파트 1을 알고리즘 방식으로 다시 풀기
  • 약간 더 복잡한 알고리즘으로 파트 2 해결

  • Yikes, 나선을 만들어야 할지도 몰라


  • 이 부분을 수동으로 해결하려면 많은 신중한 산술이 필요합니다
  • 아니요, 감사합니다
  • 가능하다면 2부
  • 를 해결하는 데 도움이 되기를 바라면서 1부에서 나선형을 구축하는 데 도전하고 싶습니다.

    파트 1을 다시 풀지만 알고리즘 방식으로



    나선형을 다시 분석할 때:
  • 반복 가능한 패턴으로 오른쪽, 위, 왼쪽, 아래로 이동하는 횟수가 증가했습니다. 각 양은 2씩 증가합니다
  • .
  • 키가 증가하는 숫자이고 값이 나선형의 좌표인 사전을 만들 수 있습니다
  • .
  • 그런 다음 내가 알아야 할 키로 사전을 채우는 데 걸린 주기만큼 이동합니다. 내 퍼즐 입력
  • 마지막으로 내가 원하는 키
  • 와 관련된 좌표의 절대값 합계를 반환합니다.

    이것이 내 알고리즘이 작동하는 방식입니다.

    약간 더 복잡한 알고리즘으로 파트 2 풀기


  • 설정에서 빈 상태로 시작하는 변수match를 만듭니다
  • .
  • 나선에 새 셀이 추가될 때마다 8개의 인접한 셀을 확인하여 복잡성이 추가됩니다
  • .

    인접한 각 셀 좌표를 반복합니다.

    If there is an adjacent cell, update its coordinate with that value
    If there is no adjacent cell, update its coordinate with 0
    


    그런 다음 조건:

    If, after determining the value to populate a cell, it is greater than my puzzle input AND my match variable is empty
      Update match to the value of the cell
    


    내 알고리즘은 약간 넘어갑니다. 하지만 상당한 양은 아닙니다.

    더 중요한 것은 단 하나match를 저장한다는 것입니다. 정답!

    해냈어!!


  • 두 부분 모두 해결했습니다!
  • 파트 1을 순진한 방식과 알고리즘 방식으로 두 번 풀었습니다!
  • 내 분석과 알고리즘적 사고를 실시간으로 애니메이션화하는 두 개의 GIF를 만들었습니다!
  • 개인 최고 별점을 넘어섰습니다! 이제 42 개의 별이 있습니다... 46개로 늘릴 수 있는 기회가 두 번 남았습니다!

  • 이 나선형 퍼즐은 놀랍고 생각을 자극하는 퍼즐로 처음에는 저를 어리둥절하게 만들었습니다... 패턴을 파고들었습니다.

    고백하건대, 처음 5일 동안은 이렇게 어려운 일이 있을 줄은 몰랐습니다.

    2017년의 두 번째 퍼즐로 가십시오!

    좋은 웹페이지 즐겨찾기