题目
【题目背景】 某地疫情爆发后,出于“应检尽检”的原则,我们想要通知所有近期经过该高危区域的居民参与核酸检测。
【问题描述】 想要找出经过高危区域的居民,分析位置记录是一种简单有效的方法。
具体来说,一位居民的位置记录包含 t个平面坐标(x1,y1),(x2,y2),···,(xt,yt) ,其中(xi,yi表示该居民i时刻所在位置。 高危区域则可以抽象为一个矩形区域(含边界),左下角和右上角的坐标分别为(xl,yd)和(xr,yu),满足xl<xr且yd<yu 。
考虑某位居民的位置记录,如果其中某个坐标位于矩形内(含边界),则说明该居民经过高危区域;进一步地,如果其中连续k个或更多坐标均位于矩形内(含边界),则认为该居民曾在高危区域逗留。需要注意的是,判定经过和逗留时我们只关心位置记录中的t个坐标,而无需考虑该居民在i到i+1时刻之间位于何处。
给定高危区域的范围和n位居民过去 t个时刻的位置记录,试统计其中经过高危区域的人数和曾在高危区域逗留的人数。
【输入格式】 输入共n+1行。
第一行包含用空格分隔的七个整数 n、k、t、xi、td、xr和yu ,含义如上文所述。
接下来n行,每行包含用空格分隔的2t个整数,按顺序表示一位居民过去 t个时刻的位置记录(x1,y1),(x2,y2),···,(xt,yt) 。
【输出格式】 输出共两行,每行一个整数,分别表示经过高危区域的人数和曾在高危区域逗留的人数。
【样例输入1】
1 | 5 2 6 20 40 100 80 |
【样例输出1】
1 | 3 |
【样例1说明】 如下图红色标记所示,前三条位置记录经过了高危区域; 但第三条位置记录(图中左上曲线)只有一个时刻位于高危区域内,不满足逗留条件。
代码
1 |
|