202009-2风险人群筛查
题目
链接:http://118.190.20.162/view.page?gpid=T112

代码
/* 风险人群筛查 */
#include <iostream>
using namespace std;
int n, k, t, xl, yd, xr, yu;
int main() {
cin >> n >> k >> t >> xl >> yd >> xr >> yu;
int res1 = 0, res2 = 0;
while (n--) {
bool r1 = false, r2 = false;
int s = 0;
for (int i = 0; i < t; i++) {
int x = 0, y = 0;
cin >> x >> y;
if (x >= xl && x <= xr && y >= yd && y <= yu) {
s++,r1 = true;
if (s >= k) r2 = true;
} else
s = 0;
}
if (r1) res1++;
if (r2) res2++;
}
cout << res1 << endl << res2;
return 0;
}
总结
这是一道简单题,但是刚开始时我把它想复杂了。想起了之前的朋友跟我说的那句话,在做一道题之前要先进行分析,不要一开始就敲代码,最后只是做无用功。
我主要是错在连续在区域内才算逗留那里没有注意,以为就是统计范围里面的个数,所以错了。
看了CSDN的一位大佬的解,懂了。主要是用s判断是否连续,如果连续的,s会一直++,只要一不连续,s就会置为0.
下面是大佬的地址,推荐去他那里看。

浙公网安备 33010602011771号