题解 | #[NOIP2017]图书管理员#
[NOIP2017]图书管理员
https://ac.nowcoder.com/acm/problem/16422
python题解 给出的测试用例包含重复数据 考虑了去重,存储了之前已经计算过的需求码
from collections import defaultdict
while True:
try:
n, q = map(int, input().split())
book_fcode = [input() for _ in range(n)]
require_code = defaultdict(int)
require_list = []
for _ in range(q):
a, b = input().split()
require_code[b] = -1
require_list.append(b)
for req_code in require_code.keys():
fcode_list = []
for fcode in book_fcode:
if fcode[::-1].startswith(req_code[::-1]):
fcode_list.append(fcode)
if len(fcode_list):
require_code[req_code] = min([int(s) for s in fcode_list])
for req_code in require_list:
print(require_code[req_code])
except:
break