プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになるのQ08の問題をPythonで解きたいのですが、ここからどのように書けばいいのかわかりません。
問題文:
「多くのメーカーから発売されている掃除ロボット.忙しい我々にとって,家事を助けてくれるロボットは非常に便利である.一方で,同じところを何度も往復するなど,その動きが理解できないことも珍しくない.
ここでは,同じ場所を通らない掃除ロボットを考える.このロボットは,前後左右にのみ移動することができる.例えば,3 回移動する場合,最初に後ろに移動する経路は 9 パタンある.最初の移動方向は前後左右あるため,考えられる移動経路は全部で 9 * 4 = 36 通り存在する.
このロボットが12回移動するとき、考えらる移動経路のパターンが何通りあるか求めてください」
エラーは'function' object is not subscriptableと出でいます。
Python3.x
1N = 12 2 3def move(log): 4 if len(log) == N + 1: 5 return 1 6 7 cnt = 0 8 for d in [[0,1],[0,-1],[1,0],[-1,0]]: 9 next_pos = [log[-1][0] + d[0], log[-1][1] + d[1]] 10 if next_pos in log: 11 cnt += move(log + [next_pos]) 12 return cnt 13 14print(move[[0,0]])
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。