ccfcsp202009-2 风险人群筛查


题目传送门

题目描述


简单模拟

分析

代码

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
typedef pair<int, int> PII; 
const int N = 1010;
vector<PII> people[30];
int n, k, t, xl, yd, xr, yu;

int main()
{
	scanf("%d%d%d%d%d%d%d", &n, &k, &t, &xl, &yd, &xr, &yu);
	int cnt1 = 0, cnt2 = 0;
	for(int i = 0; i < n; i++)
	{
		int tmp = 0, tmpmax = 0; // tmp是计数器,表示连续经过的点数,tmpmax记录最大段tmp 
	
		for(int j = 0; j < t; j ++)
		{
			int x, y;
			scanf("%d%d", &x, &y);
			
			if( x >= xl && x <= xr && y >= yd && y <= yu)
			{
				tmp++;
				tmpmax = max(tmpmax, tmp);		
			}
			else 
			{
				tmp = 0;
			}
			
//			vector[i].push_back({l,r});
		}
//		printf("%dh\n",tmpmax);
		 
		if(tmpmax > 0)  cnt1++;
		if(tmpmax >= k) cnt2++; 
	}
	printf("%d\n%d\n", cnt1, cnt2);
	return 0;
}

时间复杂度

参考文章

posted @ 2022-03-05 17:47  VanHope  阅读(45)  评论(0编辑  收藏  举报