基础的序列处理问题,稍微有点复杂的就是对于判断连续处于区域内才满足停留

这里我们可以分别设置两个flag变量标记是否满足经过和停留的条件。

对于停留,我们用一个cnt来记录是否连续处于区域内,判断它不在区域内的时候,就把数清为0 于是可以这样写

if(x < xl || x > xr || y > yu || y < yd)

那么如何进行连续的判断呢?

if(flag2 == 0 && ++cnt == k) flag2 = 1;

因为从0进入判断,所以用先++的方式即可。

最后具体的100分AC代码,详细解释说明都写在注释里了,可以好好看看~

试题编号: 202009-2
试题名称: 风险人群筛查
时间限制: 1.0s
内存限制: 256.0MB
问题描述:

题目背景

某地疫情爆发后,出于“应检尽检”的原则,我们想要通知所有近期经过该高危区域的居民参与核酸检测。

问题描述

想要找出经过高危区域的居民,分析位置记录是一种简单有效的方法。
具体来说,一位居民的位置记录包含t个平面坐标(x1,y1),(x2,y2),…,(xt,yt) ,其中(xi,yi)表示该居民i时刻所在位置。
高危区域则可以抽象为一个矩形区域(含边界),左下角和右上角的坐标分别为(xl,yd)和(xr,yu),满足xl<xr且yd<yu。
考虑某位居民的位置记录,如果其中某个坐标位于矩形内(含边界),则说明该居民经过高危区域;进一步地,如果其中连续
k个或更多坐标均位于矩形内(含边界),则认为该居民曾在高危区域逗留。需要注意的是,判定经过和逗留时我们只关心位置记录中的t个坐标,而无需考虑该居民在i到i+1时刻之间位于何处。
给定高危区域的范围和n位居民过去t个时刻的位置记录,试统计其中经过高危区域的人数和曾在高危区域逗留的人数。

输入格式

输入共n+1行。
第一行包含用空格分隔的七个整数n、k、t、xl、yd、xr和yu,含义如上文所述。
接下来n行,每行包含用空格分隔的2t个整数,按顺序表示一位居民过去t个时刻的位置记录(x1,y1),(x2,y2),…,(xt,yt) 。

输出格式

输出共两行,每行一个整数,分别表示经过高危区域的人数和曾在高危区域逗留的人数。

样例输入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

样例输出1

3
2

样例1说明

如下图红色标记所示,前三条位置记录经过了高危区域;
但第三条位置记录(图中左上曲线)只有一个时刻位于高危区域内,不满足逗留条件。

样例输入2

1 3 8 0 0 10 10
-1 -1 0 0 0 0 -1 -1 0 0 -1 -1 0 0 0 0

样例输出2

1
0

样例2说明

该位置记录经过了高危区域,但最多只有连续两个时刻位于其中,不满足逗留条件。
评测用例规模与约定
全部的测试点满足1<=n<=20,1<=k<=t<=10^3,所有坐标均为整数且绝对值不超过10^6 。

解题代码:

#include<iostream>
#include<stdio.h>
using namespace std;
int n,k,t,xl,yd,xr,yu;  //n个居民 k个判定停留 t个时间点,左下角和右上角坐标
//由左下和右上得到 矩形的整个范围是x:[xl,xr] y:[yd,yu];
int passby,stay; //记录经过和停留的人
int main(){scanf("%d%d%d%d%d%d%d",&n,&k,&t,&xl,&yd,&xr,&yu);int x,y;while(n--){ //分别对每一个人处理int cnt = 0; //记录每一个人的行踪在矩形范围内出现的次数int flag1 = 0, flag2 = 0; //用两个flag来标记不同情况是否满足for(int i=0;i<t;i++){scanf("%d%d",&x,&y);if(x < xl || x > xr || y > yu || y < yd)cnt=0;  //此时不满足else{if(flag1 == 0) flag1 = 1;if(flag2 == 0 && ++cnt == k) flag2 = 1;}}if(flag1) passby++;if(flag2) stay++;}printf("%d\n%d",passby,stay);return 0;
}

CCF202009-2 风险人群筛查相关推荐

  1. CCF CSP202009-2 风险人群筛查

    CCF CSP202009-2 风险人群筛查 题目描述 题目背景 某地疫情爆发后,出于"应检尽检"的原则,我们想要通知所有近期经过该高危区域的居民参与核酸检测. 问题描述 想要找出 ...

  2. 第 20 次 CSP认证 202009-2 风险人群筛查

    目录 风险人群筛查 样例1输入 样例1输出 样例1解释 样例2输入 样例2输出 样例2解释 子任务 风险人群筛查 样例1输入 5 2 6 20 40 100 80 100 80 100 80 100 ...

  3. CSP202009-2 风险人群筛查(100分)【序列处理】

    试题编号: 202009-2 试题名称: 风险人群筛查 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 题目背景 某地疫情爆发后,出于"应检尽检"的原则,我们想要通知 ...

  4. python风险人群筛查CSP

    风险人群筛查 #输入 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 3 ...

  5. CSP试题—— 风险人群筛查

    CSP试题-- 风险人群筛查 2020.10.07 By ljm C语言满分答案: #include <stdio.h> #include <stdlib.h>/* run t ...

  6. 计算机MCI风险快速筛查系统,轻度认知障碍风险快速筛查工具的测算过程及判别效果分析...

    摘要: 目的:结合神经心理学量表和认知范式,研发轻度认知障碍(MCI)风险快速筛查工具.方法:应用北京老年脑健康促进计划(BABRI)队列研究两个基线数据集:数据集1受试者5 593例,MCI组患者1 ...

  7. 检信ALLEMOTION多维度心理情绪测评是社区群体性人群心理筛查的有效落地解决方案

    目前心理健康诊断主要依靠心理量表和心理医生,存在职业医生短缺,单次诊断时间长,无法做到实时.高频.大数据筛查测评等痛点. 检信智能是一家专注于心理情绪情感算法及应用开发的人工智能型企业,开发团队具有清 ...

  8. dst发育筛查有意义吗_儿童视力筛查,都筛些啥?

    感谢眼科小伙伴们的早出晚归辛勤忙碌,感谢幼儿园.学校及小朋友们的积极配合,本学期的校园视力筛查也已进入尾声.相信爸爸妈妈们都已拿到了这样的筛查结果单: (学龄前儿童仅行电脑验光筛查,学龄儿童还需行视力 ...

  9. 年轻人猝死频发,AI应用到心血管疾患筛查还有多远?

    文 |李永华 来源 | 智能相对论(ID:aixdlun) 刚刚结束的2018年发生了太多的事,但最令人遗憾的还是那些年轻生命的猝然逝去. 12月8日,25岁的大疆无人机相机部员工在家猝死,从入职到突 ...

最新文章

  1. Unity 中的协同程序
  2. L1-010 比较大小(8行代码AC!!!)
  3. 内容拾遗之字符串与数据结构
  4. neo4j 迁移_在Kubernetes中迁移Neo4j图模式
  5. linux中端口的欺骗,Linux中的端口占用问题
  6. 数据有序_详解数据库插入性能优化:合并+事务+有序数据进行INSERT操作
  7. logback 配置详解(一)configuration and logger
  8. Android 开发高效工具之道
  9. 锁定文件失败 打不开磁盘“E:\HP02\HP01-cl1.vmdk”或它所依赖的某个快照磁盘。 模块“Disk”启动失败。 未能启动虚拟机
  10. 阿里专家与你分享:你必须了解的Java多线程技术
  11. 四大银行(工建农中)大数据进展如何?
  12. SOME/IP报文格式-Payload
  13. 深港澳金融科技师(SHMFTTP)一级考试
  14. 河南大学大计算机考研复试分数线预测,2017年河南大学考研复试分数线以及复试通知...
  15. JavaSE(9)-细节狂魔:OOP之继承多态?20K字长篇看完,有手就行
  16. win10强制关闭飞行模式_win10笔记本突然连不上wifi怎么办?
  17. 【办公软件有哪几种】万彩办公大师教程丨Office转图片工具
  18. 关于html video 在chrome浏览器下无法快进问题解决
  19. jQuery serialize()、serializeArray()方法实现表单序列化
  20. 机器视觉-相机标定及畸变矫正

热门文章

  1. 解决MySQL查询数据不一致诟病
  2. Cisco路由器IOS映像恢复及升级方法
  3. python每行乘列表_python – 在pandas数据帧中查找每行的两列列表中哪一列的最快方法...
  4. 如何从硬件到防火墙设置homelab
  5. 管理项目的问题跟踪器的提示
  6. 容器操作系统虚拟化_为什么操作系统在容器化世界中很重要
  7. 高性能网站建设指南——网站优化的14条建议
  8. Python 小入坑
  9. ROS笔记(17) Gazebo
  10. idea导入servlet包还是显示红色_还是从servlet 开始吧,hello servlet