题解 | 数据分类处理

import sys
from collections import defaultdict

def check_rule_in_num(rule:int, number:int) -> bool:
    return str(rule) in str(number)
    

raw_input = []
for i,line in enumerate(sys.stdin):
    raw_input.append(line.strip())
    if i == 2:
        break

num_lst = [int(i) for i in  raw_input[0].split(' ')]
rule_lst = [int(i) for i in raw_input[1].split(' ')]
n = num_lst[0]
nums = num_lst[1:1+n]
m = rule_lst[0]
rules = rule_lst[1:1+m]
rules = sorted(set(rules))
res_dict = defaultdict(list)
for rule in rules:
    for i, num in enumerate(nums):
        if check_rule_in_num(rule, num):
            res_dict[rule].append([i, num])
rule_counts_dict = dict()
total_records = 0
for rule in rules:
    if rule not in res_dict:
        continue
    rule_counts_dict[rule] = [rule,len(res_dict[rule])]
    total_records += (len(res_dict[rule]) + 1) * 2

total_res = []
total_res.append(total_records)
for rule in rules:
    if rule in rule_counts_dict:
        total_res.extend(rule_counts_dict[rule])
        for elem in res_dict[rule]:
            total_res.extend(elem)

print(' '.join([str(i) for i in total_res]))

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-04 14:35
点赞 评论 收藏
分享
点赞 评论 收藏
分享
Twilight_m...:经典我朋友XXXX起手,这是那种经典的不知道目前行情搁那儿胡编乱造瞎指导的中年人,不用理这种**
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务