問題文
この問題は F 問題 (Operate K) の部分問題であり、
K=1 です。
F 問題に正解するコードをこの問題に提出することで、この問題に正解できます。
文字列 S に対して以下の操作を 0 回以上 K 回以下行って、文字列 T と一致させられるか判定してください。
次の 3 種類の操作のうちひとつを選択し、実行する。
S 中の (先頭や末尾を含む) 任意の位置に、任意の文字を 1 つ挿入する。
S 中の文字を 1 つ選び、削除する。
S 中の文字を 1 つ選び、別の 1 つの文字に変更する。
制約
S,T は英小文字からなる長さ 1 以上 500000 以下の文字列K=1
回答例
python
1def same_string_count(s, t): 2 res = 0 3 for s_i, t_i in zip(s, t): 4 if s_i == t_i: 5 res += 1 6 else: 7 break 8 return res 9 10k = int(input()) 11s = input() 12t = input() 13 14if s == t: 15 exit(print('Yes')) 16if abs(len(s) - len(t)) >= 2: 17 exit(print('No')) 18 19a = same_string_count(s, t) 20b = same_string_count(s[::-1], t[::-1]) 21 22if (len(s) == len(t) and len(s) - a - b <= 1) or (len(s) != len(t) and a + b >= min(len(s), len(t))): 23 print('Yes') 24else: 25 print('No')
解答例のa + b >= min(len(s), len(t))はなぜa + b == min(len(s), len(t))ではダメなのですか。
==にして提出するとWAになります

回答2件
あなたの回答
tips
プレビュー