202009-2 风险人群筛查

题目背景

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

问题描述

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

输入格式

输入共n+1行。

第一行包含空格分隔的七个整数\(n,k,t,x_l,y_d,x_r,y_u\),含义如上文所述。

接下来n行,每行包含用空格分隔的2t个整数,按顺序表示一位居民过去t个时刻的位置记录\((x_1,y_1),(x_2,y_2),...,(x_t,y_t)\)。

输出格式

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

样例输入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 106 47 110 51

0 20 4 20 8 20 12 20 16 20 20 20

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

样例输出2

1

0

样例2说明

该位置记录经过了高危区域,但最多只有两个连续两个时刻位于其中,不满足逗留条件。

评测用例规模与约定

全部测试点满足\(1\le n \le20\),\(1\le k\le t \le 10^3\),所有坐标均为整数且绝对值不超过\(10^6\)。

代码

  1. #include<cstdio>
  2. int main(){
  3. int n,k,t,xl,yd,xr,yu;
  4. scanf("%d%d%d%d%d%d%d",&n,&k,&t,&xl,&yd,&xr,&yu);
  5. int i,xi,yi,j,ans1=0,ans2=0;
  6. int cnt[20]={0};
  7. for(i=0;i<n;i++){
  8. bool flag = false;
  9. int temp = 0;
  10. for(j=0;j < t;j++)
  11. {
  12. scanf("%d%d", &xi, &yi);
  13. if((xi>=xl&&xi<=xr)&&(yi>=yd&&yi<=yu)){
  14. cnt[i]++;
  15. temp++;
  16. if (cnt[i] >= k){
  17. flag = true;
  18. }
  19. }else{
  20. cnt[i]=0;
  21. }
  22. }
  23. if(flag){
  24. ans2++;
  25. }
  26. if(temp){
  27. ans1++;
  28. }
  29. }
  30. printf("%d\n%d",ans1,ans2);
  31. return 0;
  32. }

CCF CSP 202009-2 风险人群筛查的更多相关文章

  1. 10亿美元融资腾讯跟头,Grail要用基因测序做癌症早期筛查

    癌症超早期筛查:"在干草堆中寻找缝衣针"癌症是人类的噩梦,尤其是中晚期癌症,但很多时候,当患者感觉到身体不适而去医院检查时,病情都已经到了中晚期,很难治愈.而有研究表明,早期癌症患 ...

  2. CCF CSP/CCSP报名费优惠的方法以及常见疑问

    目录 1. 本文地址 2. 认证作用 2.1. 高校认可 2.2. 赛事认可 2.3. 企业认可 3. 报名费价格及获取优惠的方法 3.1. CCF CSP 3.2. CCF CCSP 4. 语言与I ...

  3. Mysql数据库乱码与编码问题筛查

    最近接连遇到数据库编码问题,让你的系统本来像个美丽的姑娘却忽然发现她不识字一样难受,其实很多时候是编码的问题,而mysql(特别地)设计编码的地方很多,在这里做一个筛查: 1 mysql编码 用下面的 ...

  4. CCF CSP 认证

    参加第八次CCF CSP认证记录 代码还不知道对不对,过两天出成绩. 成绩出来了,310分. 100+100+100+10+0: 考试13:27开始,17:30结束,提交第4题后不再答题,只是检查前四 ...

  5. CCF CSP 201609-2 火车购票

    题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...

  6. CCF CSP 201703-3 Markdown

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201703-3 Markdown 问题描述 Markdown 是一种很流行的轻量级标记语言(l ...

  7. CCF CSP 201703

    CCF CSP 2017·03 做了一段时间的CCF CSP试题,个人感觉是这样分布的 A.B题基本纯暴力可满分 B题留心数据范围 C题是个大模拟,留心即可 D题更倾向于图论?(个人做到的D题基本都是 ...

  8. CCF CSP 201312-3 最大的矩形

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201312-3 最大的矩形 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i( ...

  9. CCF CSP 201609-3 炉石传说

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201609-3 炉石传说 问题描述 <炉石传说:魔兽英雄传>(Hearthston ...

随机推荐

  1. Spring框架的IOC(控制反转)

    1.1.IoC是什么 Ioc-Inversion of Control,即"控制反转",不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制, ...

  2. Netty源码解析 -- 对象池Recycler实现原理

    由于在Java中创建一个实例的消耗不小,很多框架为了提高性能都使用对象池,Netty也不例外. 本文主要分析Netty对象池Recycler的实现原理. 源码分析基于Netty 4.1.52 缓存对象 ...

  3. MYSQL 字符集设置(终端的字符集)

    每次利用终端 创建数据库或者创建表的时候,字符集都是latin1(不指定字符集的时候)如下: 查看当前数据库的字符集 character_set_client:客户端请求数据的字符集character ...

  4. 学习记录——使用PHP实现数据增删查改等基本功能(前后端分离)

    萌新初次学习服务器端语言,分享学习经验 实现功能:1.显示数据表    2.对数据进行分页    3.对数据进行增删查改 由于本萌新采用前后端完全分离方案,所以数据传输用的ajax,为了提高代码的复用 ...

  5. 【SpringBoot1.x】 Docker

    SpringBoot1.x Docker 核心概念 Docker 是一个开源的应用容器引擎,是一个轻量级容器技术.Docker 支持将软件编译成一个镜像,然后在镜像中各种软件做好配置,将镜像发布出去, ...

  6. 剑指offer 树的基本操作:四种遍历方式

    前序遍历 递归版 编程思想 即借助系统栈,效率较低.二叉树的前序遍历规则:1. 访问根结点: 2. 遍历左子树: 3. 遍历右子树 编程实现 //树的定义 struct TreeNode { int ...

  7. MySQL45讲:一条update语句是怎样执行的

    首先创建一张表: create table T(ID int primary key,c int); 如果要更新ID=2这行+1:应该这样写 update T set c=c+1 where ID=2 ...

  8. 【项目实践】手把手带你搞定SSM

    以项目驱动学习,以实践检验真知 前言 现在使用Java后端开发使用的技术栈基本上比较统一:Spring + SpringMVC + Mybatis,即大家常说的SSM.虽然现在流行的做法是使用Spri ...

  9. ps ww

    [root@ma ~]# ps ww -p 1 PID TTY STAT TIME COMMAND 1 ? Ss 0:01 /sbin/init[root@ma ~]# ps -p 1 PID TTY ...

  10. leetcode 886. 可能的二分法(DFS,染色,种类并查集)

    题目链接 886. 可能的二分法 题意: 给定一组 N 人(编号为 1, 2, ..., N), 我们想把每个人分进任意大小的两组. 每个人都可能不喜欢其他人,那么他们不应该属于同一组. 形式上,如果 ...