質問するログイン新規登録

回答編集履歴

1

コード修正

2025/06/29 19:44

投稿

cametan
cametan

スコア129

answer CHANGED
@@ -22,14 +22,13 @@
22
22
  elif s[0] == t[0]:
23
23
  return lDistance(s[1:], t[1:])
24
24
  else:
25
- return 1 + min(lDistance(t[0] + s, t), # 挿入
25
+ return 1 + min(lDistance(s, t[1:]), # 挿入
26
26
  lDistance(s[1:], t), # 削除
27
27
  lDistance(s[1:], t[1:])) # 置換
28
28
  return lDistance(s, t) <= k
29
29
 
30
30
  if __name__ == '__main__':
31
31
  print(table[OperateK(int(input()), input(), input())])
32
-
33
32
  ```
34
33
  殆どはこれでイケるけど、木構造再帰と言うかなり非効率なコードになってるんで、[Fの入力例3](https://atcoder.jp/contests/abc386/tasks/abc386_f)はかなり怪しい。元々、Pythonは再帰処理が苦手だからさ。
35
34
  ただ、原理的には上のコードがロジックだ。あとは自分でWikipediaでも眺めて「効率的なコード」の実装に挑戦して欲しい。