P5267: 行程码

传统题
1.000s 时间限制
256MB 内存限制
5 提交
4 解决

【题目描述】
题目描述
给定当前日期,以及小爱最近的行程,给定当前所有中高风险地区城市名字及风险等级,请生成小爱的行程码。具体说明如下:
  • 城市名称是由小写英文字母组成的字符串,不含大写字母、数字或其他字符;
  • 一部分城市为中高风险城市。风险等级分为高风险(以 H 表示)或中风险(以 M 表示);
  • 输入数据只给出中高风险城市,其余城市均默认为低风险;
  • 行程中的时间由月份与日期组成,中间以 - 号链接,如 02-29 表示229日,所有时间均在2020年。输入数据保证不会出现不合理的日期,月份和日期均为两位数字,若不足两位,首位以 0 补全。
  • 行程是由时间和城市名称组成的,表示在给定的时间,小爱在给定的城市活动。
生成行程码的要求如下:
  • 行程码只关心小爱在当前日期前 14 天内的行程。 14天内的含义是指若两个日期之差小于或等于 14天。
  • 行程码按绿、黄、红三色区分风险等级:
①  14天内有高风险地区行程,显示红码(以Red表示);
② 否则,若 14天内有中风险地区行程,显示黄码(以Yellow表示);
③ 否则,说明小爱没有中高风险地区行程,显示绿码(以Green表示)。
行程码还应列举出当前日期前 14天内访问过的所有城市:
① 最近访问的城市应优先输出;
② 若需要输出多个城市,以 , 隔开城市名;
③ 若城市为中高风险,则城市名后应添加 (M)  (H) 标识。
④ 若访问同一个城市多次,则只输出与当前日期最近的一次。
输入格式
第一行:单个正整数 n,表示中有 n 个城市为中高风险城市。
接下来 n 行:每行有一个城市名称及一个字符,由空格隔开,表示该城市的风险等级,保证不会有两行的城市名称相同;
接下来一行:单个正整数 m,表示行程数量。
接下来 m 行:每行表示一条行程,由月份、日期及城市名称组成。
最后一行:一个日期,表示当前日期。
输出格式
第一行:一个字符串,表示行程码的颜色(为 GreenYellowRed中的一种);
第二行:一个字符串,表示小爱最近的行程记录。
数据范围


  • 1≤n≤10 1≤m≤100
  • 数据保证行程按日期顺序给出;
  • 数据保证每条行程的日期均不同;
  • 数据保证所有行程的日期不会晚于当天日期;
  • 数据保证至少存在一条行程在当前日期的前 14 天内。


样例数据
输入:
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
输出:
Yellow
shanghai,london(M),hangzhou,ningbo
说明:
当前日期为1217日。
小爱在14天内去过的城市有shanghai,london,hangzhou,ningbo
其中shanghai,hangzhou,ningbo均未标记为中高风险地区,则默认为低风险地区,london为中风险地区,则小爱的行程码颜色为黄色。
 
【样例输入】复制
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
【样例输出】 复制
Yellow
shanghai,london(M),hangzhou,ningbo

咻咻~

提交答案 状态