一、题目描述
CCF真题202009-2 风险人群筛查
二、问题分析
前面的检测点查询,检测点是输入值(可以看做未知量),每个检测点的属性可以确定是x坐标、y坐标和与居民的距离,所以可以将居民看做一类对象,构建结构体后一层or循环遍历每个居民的每个坐标。但这道题居民人数和每个居民具有的坐标点都是待输入的未知量,不适合构建结构体了。暂时也没有想到其他的数据结构能够把所有居民的所有坐标点先存储后遍历——所以!不存了!输入一个处理一个。双层for循环,外层表示每位居民;里层输入一位居民的所有坐标点,每输入一个一个坐标点,就进行一次“是否在区域内“的”判断。判断“经过”:只要有一个点在区域内就是;判断“逗留”:连续k次“经过”,这里是个坑。“是”则计数器flag+1,“否”则flag清零。例如k=2,一位居民的三个坐标点分别是“在、不在、在”,按正确思路这个居民没有逗留,flag在第二个点没有清零就会在第三个点的判断时累加至2,结果就会显示这个居民逗留了。
三、c++实现
#include<iostream>
using namespace std;
int main()
{
int n,k