結果
問題 |
No.150 "良問"(良問とは言っていない
|
ユーザー |
![]() |
提出日時 | 2017-06-17 11:24:37 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 71 ms / 5,000 ms |
コード長 | 635 bytes |
コンパイル時間 | 183 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 10,752 KB |
最終ジャッジ日時 | 2024-10-11 02:11:26 |
合計ジャッジ時間 | 1,647 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 20 |
ソースコード
T = int(input()) S = [input() for i in range(T)] INF = 10**9+7 good = 'good' good_len = len(good) problem = 'problem' problem_len = len(problem) for t in range(T): N = len(S[t]) ans = INF imos = [INF for i in range(N+1)] for i in range(good_len,N-problem_len+1): cnt = 0 for k in range(problem_len): if S[t][i+k] != problem[k]: cnt+=1 imos[i] = cnt for i in range(N,0,-1): imos[i-1] = min(imos[i-1],imos[i]) #print(imos) for i in range(0,N-good_len-problem_len+1): good_cnt = 0 for j in range(good_len): if S[t][i+j] != good[j]: good_cnt+=1 ans = min(ans,good_cnt + imos[i+good_len]) print(ans)