分析:一边输入数据一边进行处理有利于提高计算速度,节省空间时间。
这道题尤其要注意题目说“考虑某位居民的位置记录,如果其中某个坐标位于矩形内(含边界),则说明该居民经过高危区域;进一步地,如果其中连续 个或更多坐标均位于矩形内(含边界),则认为该居民曾在高危区域逗留。”意思就是逗留的居民也算经过
#include <iostream>
using namespace std;
int main()
{
int n, k, t, xl, yd, xr, yu;
int x, y;
cin>>n>>k>>t>>xl>>yd>>xr>>yu;
int passby = 0, stay = 0;
for(int i=1; i<=n; i++)
{
int cnt = 0, flag1 = 0, flag2 = 0;
for(int j=1; j<=t; j++){
cin>>x>>y;
if(x<xl || x>xr || y<yd || y>yu)
cnt = 0;
else{
if(flag1 == 0) flag1 = 1;
if(flag2 == 0 && ++cnt == k) flag2 = 1;
}
}
if(flag1) passby++;
if(flag2) stay++;
}
cout<<passby<<endl;
cout<<stay;
return 0;
}