Problem5841--YACS - 行程码

5841: YACS - 行程码

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

给定当前日期,以及小爱最近的行程,给定当前所有中高风险地区城市名字及风险等级,请生成小爱的行程码。具体说明如下:

  • 城市名称是由小写英文字母组成的字符串,不含大写字母、数字或其他字符;
  • 一部分城市为中高风险城市。风险等级分为高风险(以 H 表示)或中风险(以 M 表示);
  • 输入数据只给出中高风险城市,其余城市均默认为低风险;
  • 行程中的时间由月份与日期组成,中间以 - 号链接,如 02-29 表示2月29日,所有时间均在2020年。输入数据保证不会出现不合理的日期,月份和日期均为两位数字,若不足两位,首位以 0 补全。
  • 行程是由时间和城市名称组成的,表示在给定的时间,小爱在给定的城市活动。

生成行程码的要求如下:

  • 行程码只关心小爱在当前日期前 1414 天内的行程。 1414 天内的含义是指若两个日期之差小于或等于 1414 天。
  • 行程码按绿、黄、红三色区分风险等级
    • 若 1414 天内有高风险地区行程,显示红码(以Red表示);
    • 否则,若 1414 天内有中风险地区行程,显示黄码(以Yellow表示);
    • 否则,说明小爱没有中高风险地区行程,显示绿码(以Green表示)。
  • 行程码还应列举出当前日期前 1414 天内访问过的所有城市:
    • 最近访问的城市应优先输出;
    • 若需要输出多个城市,以 , 隔开城市名;
    • 若城市为中高风险,则城市名后应添加 (M) 或 (H) 标识。
    • 若访问同一个城市多次,则只输出与当前日期最近的一次。

Input

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

Output

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

Constraints

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

Sample 1 Input

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

Sample 1 Output

Yellow
shanghai,london(M),hangzhou,ningbo
当前日期为 $12$ 月 $17$ 日。
小爱在 $14$ 天内去过的城市有 shanghai,london,hangzhou,ningbo
其中 shanghai,hangzhou,ningbo 均未标记为中高风险地区,则默认为低风险地区,london 为中风险地区,则小爱的行程码颜色为黄色。

Sample 2 Input

3
berlin M
london M
newyork H
7
11-30 guangzhou
12-03 ningbo
12-04 hangzhou
12-05 shanghai
12-11 shanghai
12-12 dali
12-13 dalian
12-17

Sample 2 Output

Green
dalian,dali,shanghai,hangzhou,ningbo

HINT

题目来源:IAI 379

Source/Category