5841: YACS - 行程码
[Creator : ]
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 行:每行表示一条行程,由月份、日期及城市名称组成。
最后一行:一个日期,表示当前日期。
接下来 nn 行:每行有一个城市名称及一个字符,由空格隔开,表示该城市的风险等级,保证不会有两行的城市名称相同;
接下来一行:单个正整数 mm,表示行程数量。
接下来 mm 行:每行表示一条行程,由月份、日期及城市名称组成。
最后一行:一个日期,表示当前日期。
Output
第一行:一个字符串,表示行程码的颜色(为 Green、Yellow、Red中的一种);
第二行:一个字符串,表示小爱最近的行程记录。
第二行:一个字符串,表示小爱最近的行程记录。
Constraints
$1 \leq n \leq 10,\ 1 \leq m \leq 100$
数据保证行程按日期顺序给出;
数据保证每条行程的日期均不同;
数据保证所有行程的日期不会晚于当天日期;
数据保证至少存在一条行程在当前日期的前 1414 天内。
数据保证行程按日期顺序给出;
数据保证每条行程的日期均不同;
数据保证所有行程的日期不会晚于当天日期;
数据保证至少存在一条行程在当前日期的前 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 为中风险地区,则小爱的行程码颜色为黄色。
小爱在 $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