Baekjoon 5582.py[共通部分文字列]
もし問題があったら?
一つ一つ見回して、同じかどうかを見て、もちろんタイムアウトして、別の方法で解きます.
DPを用いて記述する場合,重要な部分は以下の論理である.
import sys
input = sys.stdin.readline
w1 = input().rstrip()
w2 = input().rstrip()
dp = [[0]*(len(w2)+1) for _ in range(len(w1)+1)]
result = 0
for i in range(1, len(w1)+1):
for j in range(1, len(w2)+1):
if w1[i-1] == w2[j-1]:
dp[i][j] = dp[i-1][j-1]+1
result = max(result, dp[i][j])
print(result)
ふくガス
一つ一つ見回して、同じかどうかを見て、もちろんタイムアウトして、別の方法で解きます.
DPを用いて記述する場合,重要な部分は以下の論理である.
if w1[i-1] == w2[j-1]: dp[i][j] = dp[i-1][j-1]+1
現在の文字が同じ場合は、前の文字状態+1の方法で解読します.Reference
この問題について(Baekjoon 5582.py[共通部分文字列]), 我々は、より多くの情報をここで見つけました https://velog.io/@hohooodo/Baekjoon-5582.py-공통-부분-문자열テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol