问题 5210 --行程码

5210: 行程码

题目描述

给定**当前日期**,以及小爱最近的**行程**,给定当前所有中高风险地区城市名字及**风险等级**,请生成小爱的行程码。具体说明如下: - 城市名称是由小写英文字母组成的字符串,不含大写字母、数字或其他字符; - 一部分城市为中高风险城市。**风险等级**分为高风险(以 `H` 表示)或中风险(以 `M` 表示); - 输入数据只给出中高风险城市,其余城市均默认为低风险; - 行程中的时间由月份与日期组成,中间以 `-` 号链接,如 `02-29` 表示2月29日,所有时间均在2020年。输入数据保证不会出现不合理的日期,月份和日期均为两位数字,若不足两位,首位以 `0` 补全。 - **行程**是由时间和城市名称组成的,表示在给定的时间,小爱在给定的城市活动。 生成行程码的要求如下: + 行程码只关心小爱在**当前日期**前 $14$ 天内的**行程**。 $14$ 天内的含义是指若两个日期之差小于或等于 $14$ 天。 + 行程码按绿、黄、红三色区分**风险等级**: - 若 $14$ 天内有高风险地区**行程**,显示红码(以`Red`表示); - 否则,若 $14$ 天内有中风险地区**行程**,显示黄码(以`Yellow`表示); - 否则,说明小爱没有中高风险地区**行程**,显示绿码(以`Green`表示)。 + 行程码还应列举出**当前日期**前 $14$ 天内访问过的所有城市: - 最近访问的城市应优先输出; - 若需要输出多个城市,以 `,` 隔开城市名; - 若城市为中高风险,则城市名后应添加 `(M)` 或 `(H)` 标识。 - 若访问同一个城市多次,则只输出与**当前日期**最近的一次。

输入

第一行:单个正整数 $n$,表示中有 $n$ 个城市为中高风险城市。 接下来 $n$ 行:每行有一个城市名称及一个字符,由空格隔开,表示该城市的**风险等级**,保证不会有两行的城市名称相同; 接下来一行:单个正整数 $m$,表示**行程**数量。 接下来 $m$ 行:每行表示一条**行程**,由月份、日期及城市名称组成。 最后一行:一个日期,表示**当前日期**。

输出

第一行:一个字符串,表示行程码的颜色(为 `Green`、`Yellow`、`Red`中的一种); 第二行:一个字符串,表示小爱最近的行程记录。

样例输入输出

输入#1 复制
3
berlin M
london M
newyork H
6
11-30 guangzhou
12-03 ningbo
12-04 hangzhou
12-05 shanghai
12-08 london
12-11 shanghai
12-17
输出#1 复制
Yellow
shanghai,london(M),hangzhou,ningbo

提示

+ $1 \leq n \leq 10$ ,$1 \leq m \leq 100$ + 数据保证**行程**按日期顺序给出; + 数据保证每条**行程**的日期均不同; + 数据保证所有**行程**的日期不会晚于**当天日期**; + 数据保证至少存在一条**行程**在**当前日期**的前 $14$ 天内。 样例1说明:当前日期为12月17日。 小爱在14天内去过的城市有shanghai,london,hangzhou,ningbo 其中shanghai,hangzhou,ningbo均未标记为中高风险地区,则默认为低风险地区,london为中风险地区,则小爱的行程码颜色为黄色。
序号 标题 作者 发表时间 费用 订购数 操作