結果
問題 | No.1994 Confusing Name |
ユーザー |
![]() |
提出日時 | 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)