結果
| 問題 |
No.1909 Detect from Substrings
|
| コンテスト | |
| ユーザー |
tamato
|
| 提出日時 | 2022-04-22 21:56:29 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 96 ms / 2,000 ms |
| コード長 | 1,458 bytes |
| コンパイル時間 | 348 ms |
| コンパイル使用メモリ | 82,456 KB |
| 実行使用メモリ | 94,824 KB |
| 最終ジャッジ日時 | 2024-06-24 03:05:10 |
| 合計ジャッジ時間 | 4,501 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 36 |
ソースコード
mod = 998244353
def main():
import sys
input = sys.stdin.readline
def subst(A, B):
j = 0
res = 1
for i, b in enumerate(B):
if b != A[j]:
if i == j:
j += 1
if b != A[j]:
res = 0
break
else:
res = 0
break
j += 1
return res
N, M = map(int, input().split())
S_list = []
for _ in range(N):
S_list.append(input().rstrip('\n'))
A, B = S_list[0], S_list[1]
diff_idx_list = []
for i in range(M):
if A[i] != B[i]:
diff_idx_list.append(i)
i = diff_idx_list[0]
j = diff_idx_list[-1]
T_list = []
if i == j:
T_list.append("".join([A[:i], A[i], B[i], A[i+1:]]))
T_list.append("".join([A[:i], B[i], A[i], A[i + 1:]]))
else:
T_list.append("".join([A[:i], B[i], A[i:j+1], A[j + 1:]]))
T_list.append("".join([A[:i], A[i:j + 1], B[j], A[j + 1:]]))
T_list.append("".join([A[:i], A[i], B[i:j + 1], A[j + 1:]]))
T_list.append("".join([A[:i], B[i:j + 1], A[j], A[j + 1:]]))
T_list = list(set(T_list))
ans = 0
for T in T_list:
ok = 1
for S in S_list:
if not subst(T, S):
ok = 0
break
ans += ok
print(ans)
if __name__ == '__main__':
main()
tamato