179. 【应-36-2·难】区域聚合
中等
Python
📋 题目描述
地图可视化常用"区域聚合":把若干城市的数值合并为一个大区域的数值。本题给你 N 个城市的整数取值,再给出 M 条 `region city` 的从属关系(一个 region 可对应多个 city,city 也可能不在前面的城市表中,缺失则跳过该城市)。
请按 region 字典升序输出每个出现过的 region 及其聚合总和(即所有它包含的、且在城市表里的 city 取值之和)。若某 region 包含的 city 全部不在表里,则总和为 0,但 region 本身仍要输出。
📥 输入描述
第一行两个整数 N M(1<=N,M<=1000)。
接下来 N 行 `city value`(value 是整数,city 不重复)。
再 M 行 `region city`(一个 region 可能出现多次)。
📤 输出描述
按 region 字典升序输出若干行 `region sum`。
输入样例
2 2 BJ 100 SH 200 HUADONG SH HUADONG NJ
输出样例
HUADONG 200
提示:先把城市表存到 dict[city]=value。
再扫 M 行,对每个 region 维护累计和(region 不在累计 dict 中先初始化为 0),若 city 在城市表里就累加 value,不在则跳过累加但 region 已被记录。
最后 sorted(d.items()) 按字典升序输出。
请登录后提交代码