RSS

 

RSS


パズル


7等辺7角形終了コード

  • いわいまさか
  • at 2024/9/15 15:35:45

7等辺7角形は終了した。
デバッグした。

向きが違うものを一個に数える
というテーマはあるが一旦お終い。

コードをchatgptできれいにして この記事
chatgptで説明         次からの記事
chatgptで図示してみた

dir2xy = ((2, 0), (1, 1), (-1, 1), (-2, 0), (-1, -1), (1, -1))
ddir2ok = (0, 1, 1, 0, 1, 1)

def corner(c):
    for dir in range(6):
        last = route[-1]
        ddir = (dir + 6 - last[2]) % 6  # Calculate relative direction
        if ddir2ok[ddir] == 1:
            next = [last[0] + dir2xy[dir][0], last[1] + dir2xy[dir][1], dir]
            if c == 7:
                if next[0] == 0 and next[1] == 0 and dir != 0:
                    print(f"{route}")
                    return
            else:
                for lc in route:
                    if lc[0] == next[0] and lc[1] == next[1]:
                        break
                else:  # This else corresponds to the for-loop, executes if no break occurs
                    route.append(next)
                    corner(c + 1)
                    route.pop()
    return

# Main execution
route = [[0, 0, -1], [2, 0, 0]]
corner(2)


  • コメント (0)
  • トラックバック (0)
トラックバックURL :
http://www.iwai-masaka.jp/tb.cgi/56583