結果
問題 | No.1994 Confusing Name |
ユーザー |
![]() |
提出日時 | 2022-04-16 12:49:50 |
言語 | PyPy3 (7.3.15) |
結果 |
MLE
|
実行時間 | - |
コード長 | 904 bytes |
コンパイル時間 | 482 ms |
コンパイル使用メモリ | 81,664 KB |
実行使用メモリ | 1,140,864 KB |
最終ジャッジ日時 | 2024-12-25 16:42:56 |
合計ジャッジ時間 | 55,734 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 MLE * 1 |
other | AC * 1 WA * 5 TLE * 6 MLE * 16 |
ソースコード
import sysinput = sys.stdin.readlineclass Node:def __init__(self):self.num = 0self.next = [None] * 2class BinaryTrie:def __init__(self, d):self.root = Node()self.d = ddef add(self, n):last = self.rootfor _ in [0] * self.d:i = n & 1if(last.next[i] is None):last.next[i] = Node()last = last.next[i]n >>= 1last.num += 1def search(self, n):last = self.rootfor _ in [0] * self.d:i = n & 1if(last.next[i] is None):return 0last = last.next[i]n >>= 1return last.numn = int(input())d = 50user = []trie = BinaryTrie(d)for i in range(n):s = input().rstrip()lis = [0] * len(s)for i in range(len(s)):for j in range(len(s)):k = 26 if(i == j) else ord(s[j]) - ord('a')lis[i] = lis[i] * 27 + ktrie.add(lis[i])user.append(lis)for l in user:ans = 0for t in l:ans += trie.search(t) - 1print(ans)