結果
| 問題 |
No.1994 Confusing Name
|
| コンテスト | |
| ユーザー |
FromBooska
|
| 提出日時 | 2023-06-19 21:40:43 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 970 bytes |
| コンパイル時間 | 1,106 ms |
| コンパイル使用メモリ | 81,900 KB |
| 実行使用メモリ | 98,980 KB |
| 最終ジャッジ日時 | 2024-06-27 09:33:12 |
| 合計ジャッジ時間 | 5,404 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 9 TLE * 1 -- * 18 |
ソースコード
# 長さで分けて、その中で二重ループするか
# しかしすべての長さが同じで、その中で二重ループしたらTLEするだろう
N = int(input())
from collections import defaultdict
dic_length = defaultdict(list)
dic_name = defaultdict(int)
S = []
for i in range(N):
temp = input()
dic_length[len(temp)].append(temp)
dic_name[temp] = i
def check_sokkuri(S1, S2):
count = 0
for i in range(len(S1)):
if S1[i] != S2[i]:
count += 1
if count == 1:
return 1
else:
return 0
ans_list = [0]*N
keys = [k for k in dic_length.keys()]
for k in keys:
l = len(dic_length[k])
for n1 in range(l):
for n2 in range(n1+1, l):
if check_sokkuri(dic_length[k][n1], dic_length[k][n2]) == 1:
ans_list[dic_name[dic_length[k][n1]]] += 1
ans_list[dic_name[dic_length[k][n2]]] += 1
#print(ans_list)
for a in ans_list:
print(a)
FromBooska