风险人群筛查【202009-2/CCF】————附带完整代码和思路

0 结果

在这里插入图片描述
难点:认真读题(经过、逗留)

1 题目

在这里插入图片描述

样例输入1
5 2 6 20 40 100 80
100 80 100 80 100 80 100 80 100 80 100 80
60 50 60 46 60 42 60 38 60 34 60 30
10 60 14 62 18 66 22 74 26 86 30 100
90 31 94 35 98 39 102 43 106 47 110 51
0 20 4 20 8 20 12 20 16 20 20 20
Data
样例输出1
3
2

在这里插入图片描述

样例输入2
1 3 8 0 0 10 10
-1 -1 0 0 0 0 -1 -1 0 0 -1 -1 0 0 0 0
Data
样例输出2
1
0

在这里插入图片描述

2 思路

根据输入的坐标是否在矩形范围内判断是否经过危险区域,根据输入的坐标在矩形区域内的计数个数是否大于等于k来判断是否在危险区域逗留。

3 代码

#include<cstdio>

int main(){
	int n, k, t, xl, yd, xr, yu;
	scanf("%d%d%d%d%d%d%d", &n, &k, &t, &xl, &yd, &xr, &yu);
	int passDangerCount = 0, stayDangerCount = 0;
	while(n--){
		int stayCount = 0;
		bool passCountFlag = false;
		bool stayCountFlag = false;
		for(int i = 0;i < t;i++){
			int x, y;
			scanf("%d%d", &x, &y);
			if((x >= xl && x <= xr) && (y >= yd && y <= yu)){
				stayCount++;
				if(passCountFlag == false){
					passDangerCount++;
					passCountFlag = true;
				}
			}else{
				stayCount = 0;
			}
			
			if(stayCountFlag == false && stayCount >= k){
				stayDangerCount++;
				stayCountFlag = true;
			}
		}
	}
	printf("%d\n", passDangerCount);
	printf("%d", stayDangerCount);	
	return 0;
}
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 岁月 设计师:pinMode 返回首页