#include <iostream>
using namespace std;
typedef struct
{
int x;
int y;
}position; //坐标
bool panduan(int xl, int yd, int xr, int yu, int px, int py) //判断函数
{
if((px >= xl && px <= xr) && (py >= yd && py <= yu)) return true;//在该区域内
else return false;
}
int main()
{
int n, k, t, xl, yd, xr, yu;
cin >> n >> k >> t >> xl >> yd >> xr >> yu;
position **p = new position*[n];
for(int i = 0; i < n; i++)
p[i] = new position[t];
for(int i = 0; i < n; i++)
for(int j = 0; j < t; j++)
cin >> p[i][j].x >> p[i][j].y;
int count_1 = 0, count_2 = 0; //1表示逗留过,2表示经过
for(int i = 0; i < n; i++)
{
int flag = 0, mark = 0; //flag用来判断是否连续呆k天,而mark用来判断是否经过
for(int j = 0; j < t; j++)
{
if(panduan(xl, yd, xr, yu, p[i][j].x, p[i][j].y))
{
flag++;
mark = 1;
}
else
flag = 0;
if(flag == k)
{
count_1++;
count_2++;
break;
}
else if(j == t-1 && mark == 1)
count_2++;
}
}
cout << count_2 << endl;
cout << count_1;
return 0;
}
【题解】CCF CSP 202009-2 —— 风险人群筛查
最新推荐文章于 2022-08-26 17:19:25 发布