about summary refs log tree commit diff
path: root/others/other/dict.py
diff options
context:
space:
mode:
Diffstat (limited to 'others/other/dict.py')
-rwxr-xr-xothers/other/dict.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/others/other/dict.py b/others/other/dict.py
new file mode 100755
index 0000000..76b8414
--- /dev/null
+++ b/others/other/dict.py
@@ -0,0 +1,17 @@
+#!/usr/bin/env python3
+
+from itertools import islice
+from bisect import bisect_left as bisect
+
+
+with open('dict.inp') as fi, open('dict.out', 'w') as fo:
+    words = list(islice(fi, int(fi.readline())))
+    words.sort()
+
+    for _ in range(int(fi.readline())):
+        s = fi.readline().strip()
+        i = bisect(words, s)
+        count = 0
+        while i + count < len(words) and words[i + count].startswith(s):
+            count += 1
+        fo.write("{}\n".format(count))