HNU 练习八 结构体编程题6. 青蛙与蚊子

【问题描述】

       有 n 只青蛙位于坐标轴 OX 上,对于每只青蛙,有两个已知值 xi、ti,表示第 i 只青蛙在坐标的位置(各不相同)以及它的舌头的长度。同样有 m 只蚊子一只接一只的落到坐标轴上,对于每只蚊子,有两个已知值, pj 表示第 j 只蚊子所在的位置,bj 为第 j 只蚊子的重量。青蛙和蚊子表示为坐标上的点。

       如果蚊子和青蛙在同一位置或者在右边,青蛙可以吃掉蚊子,它们之间的距离不超过青蛙舌头的长度。

       如果有几只青蛙都能在某一时刻吃到一只蚊子,最左边的青蛙就会吃掉它(最小的 xi)。吃完蚊子后,青蛙的舌头将增加蚊子重量的长度,在之后,青蛙又能够吃其他蚊子(在舌头长度增加之后)。 

       在所有蚊子落下以及青蛙吃掉所有可能的蚊子之后,对于每个青蛙,输出两个值,即吃蚊子的数量以及舌头的长度。

       每只蚊子只有在青蛙吃完之前所有可能的蚊子之后才会落到坐标上,蚊子的值是按其落到坐标轴上的顺序给出的。 

【输入形式】

       输入的第一行为两个整数(1 ≤ n,m ≤ 2*105),表示青蛙和蚊子的数量。

       接下来的 n 行,每行两个整数 xi、ti(0 ≤ xi、ti ≤ 109),表示第 i 只青蛙所在的位置以及它的舌头的初始长度,输入保证所有的 xi 互不相同。

       接下来的 m 行,每行两个整数 pj、bj(0 ≤ pj、bj ≤ 109),表示第 j 只蚊子落下的位置以及它的重量。

【输出形式】

       输出为 n 行,第 i 行包含另两个整数值 ci、li,表示被第 i 只青蛙吃掉的蚊子数量以及最终的青蛙的舌头长度。
【样例输入1】

4 6
10 2
15 0
6 1
0 1
110 10
1 1
6 0
15 10
14 100
12 2

【样例输出1】

3 114
1 10
1 1
1 2

【样例输入2】

1 2
10 2
20 2
12 1

【样例输出2】

1 3

【样例说明】
【评分标准】

要对蚊子顺序排队,要把能先吃的吃了,再看隔得远的能不能吃到

#include<iostream>
#include<algorithm>
using namespace std;
struct wq
{int w;//位置 int z;//长度或者质量 int cnt=0;//吃的蚊子数量 
}q[200005],w[200005];
bool cmp(wq x,wq y)
{return x.w<y.w;
}
int main()
{int n,m;cin>>n>>m;for(int i=0;i<n;i++)cin>>q[i].w>>q[i].z;for(int i=0;i<m;i++)cin>>w[i].w>>w[i].z;sort(w,w+m,cmp);for(int i=0;i<m;i++)//蚊子循环 {int ma=-1,temp=-1;//ma记录最大距离,temp记录最小出现的位置 for(int j=0;j<n;j++)//青蛙循环 {if(q[j].w<=w[i].w&&q[j].z>=w[i].w-q[j].w){if(ma<w[i].w-q[j].w) ma=w[i].w-q[j].w,temp=j;}}if(temp!=-1) q[temp].z+=w[i].z,q[temp].cnt++;}for(int i=0;i<n;i++) cout<<q[i].cnt<<" "<<q[i].z<<endl;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/192963.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

向zabbix服务端发请求的例子

build\win32\examples\zabbix_sender\sender.c int main(int argc, char *argv[]) {if (5 == argc){char *result =

代码随想录算法训练营第四十一天| 343 整数拆分 96 不同的二叉搜索树

目录 343 整数拆分 96 不同的二叉搜索树 343 整数拆分 class Solution {public int integerBreak(int n) {int f[] new int[n 1];if(n 2)return 1;f[2] 1;f[3] 2;for(int i 3;i < n;i){for(int j 1;j < i - j;j){f[i] Math.max(f[i],Math.max(j * f[i - j],j …

Windows 安装 flash-attention 和 bitsandbytes

首先保证cuda版本为12.1&#xff0c;torch版本为2.1.0及以上&#xff0c;python版本3.10以上 从此处下载最新版的whl&#xff0c;https://github.com/jllllll/bitsandbytes-windows-webui/releases/tag/wheels&#xff0c;通过whl来安装bitsandbytes 从此处下载最新版的whl&a…

深入了解c语言中的结构体

介绍&#xff1a; 在C语言中&#xff0c;结构体是一种用户自定义的数据类型&#xff0c;它允许我们将不同类型的数据组合在一起&#xff0c;形成一个更为复杂的数据结构。结构体可以用来表示现实世界中的实体&#xff0c;如人员、学生、图书等。本篇博客将介绍结构体的基本概念…

2023版本idea插件开发踩坑记录(一)

在进行idea开发的时候&#xff0c;开始仿照着写第一个插件hello world的时候&#xff0c;运行的时候一直运行不成功。参考了很多博客都是如此 后面对官方文档读了一遍&#xff0c;就发现其中的原委&#xff0c;这个的话估计会有很多人跟我一样踩坑 具体原因是&#xff0c;idea插…

python之pyqt专栏11-事件(QEvent)

QApplication.exec() 在main.py中&#xff0c;实例化app对象&#xff0c;然后在 sys.exit(app.exec())中调用app.exec()&#xff0c; if __name__ __main__:# 实例化应用app QApplication(sys.argv)# 实例化MyMainFormmyw MyMainForm()myw.show()# 启动应用程序的事件循环并…

selenium使用记录

本文记录python环境下使用selenium的一些步骤 Step1&#xff1a;安装并配置驱动 pip install selenium # 使用pip在对应python中安装selenium包为了让selenium能调用指定的浏览器&#xff0c;需要下载对应浏览器的驱动程序&#xff08;这里以edge为例子&#xff09; #Firefo…

Git 分支详解

目录 1. Git 分支管理 2. 如何自己创建分支&#xff1f; 3. 创建分支修改内容&#xff0c;之后合并到主分支 4. 删除分支 5. 出现 merge 冲突如何解决 6. 分支策略 前言 之前只是知道有 master 分支这个东西&#xff0c;但是具体是啥意思还是不知道&#xff0c;今天详…

四川成都数字创新大赛-3,数据二十条:三权分置,CMM是什么认证,等保是什么

目录 数据二十条:三权分置 一、数据资源持有权 二、数据加工使用权

卫星影像数据查询网址(WORLDVIEW1/2/3/4、PLEIADES、SPOT系列、高景、高分1-7、资源系列、吉林一号等)

商业卫星影像数据查询网址&#xff08;WORLDVIEW1/2/3/4、PLEIADES、SPOT系列、高景、高分1-7、资源系列、吉林一号等&#xff09; 1、资源卫星应用中心 网址&#xff1a;http://www.cresda.com/CN/ 可查询国产高分1、2、3、4、5、6、7号卫星&#xff0c;资源三号、资源三号…

用HeidiSQL在MySQL中新建用户

用HeidiSQL登录到MySQL数据库&#xff0c;注意登录的时候要使用有权限的用户&#xff1a; 选择工具-》用户管理&#xff1a; 点击左上角的“添加”&#xff1a; 输入用户名、密码&#xff0c;并且分配权限&#xff1a; 点击右边的“添加对象”&#xff1a; 可以根据自己…

国内maven镜像

国内 Maven 镜像&#xff0c;你可以将它们添加到你的 Android Kotlin 项目的 build.gradle 文件中&#xff0c;以加快依赖库的下载速度&#xff1a; 中央仓库&#xff08;Maven Central&#xff09;镜像 repositories {mavenCentral()maven { url https://maven.aliyun.com/rep…

系统托盘区句柄研究和C#基本托盘编程

因为我的系统托盘区小图标有时候会不可见,在还是在; 研究一下系统托盘区的句柄,是否每个小图标是一个单个窗口,就像form的button一样; 下图句柄工具,把问号拖动到窗口上,就会显示该窗口的句柄和窗口类等信息; 拖到系统托盘区看一下;拖到任何一个小图标上面,都只显示…

使用VC++设计程序实现K近邻中值滤波器(KNNMF)、最小均方差滤波器、矢量中值滤波算法进行滤波

VC实现若干种图像滤波技术2 获取源工程可访问gitee可在此工程的基础上进行学习。 该工程的其他文章&#xff1a; 01- 一元熵值、二维熵值 02- 图像平移变换&#xff0c;图像缩放、图像裁剪、图像对角线镜像以及图像的旋转 03-邻域平均平滑算法、中值滤波算法、K近邻均值滤波器 …

【Flink】容错机制

目录 1、检查点 ​编辑1.1 检查点的保存 1.1.1 周期性的触发保存 1.1.2 保存的时间点 1.1.3 时间点的保存与恢复 1.1.3.1保存 ​编辑 1.1.3.2 恢复的具体步骤: 1.2 检查点算法 1.2.1 检查点分界线(Barrier) 1.2.2 分布式快照算法(Barrier对齐的精准一次) 1.2.…

HTML简介

1&#xff0c;网页 网页的相关概念 1.1&#xff0c;什么是网页&#xff1f; 网页是构成网站的基本元素&#xff0c;它通常由图片&#xff0c;链接&#xff0c;文字&#xff0c;声音&#xff0c;视频等元素组成。其实就是一个常见以.htm或.html后缀结尾的文件&#xff0c;因此…

页面表格高度自适应

前言 现在后端管理系统主页面基本都是由三部分组成 查询条件&#xff0c;高度不固定&#xff0c;可能有的页面查询条件多&#xff0c;有的少表格&#xff0c;高度不固定&#xff0c;占据页面剩余高度分页&#xff0c;高度固定 这三部分加起来肯定是占满全屏的&#xff0c;那么我…

ES6 generator Symbol yield

Symbol 独一无二的值 const s1 Symbol(a)const s2 Symbol(a)console.log(s1 s2) // falseconsole.log(typeof s1) // symbollet o {a: 90,}let symbol Symbol()o[symbol] 100console.log(o)//{a: 90, Symbol(): 100} 普通函数一旦执行 函数体从上往下依次执行 functio…

Python高级数据结构——图论算法(Graph Algorithms)

Python中的图论算法&#xff08;Graph Algorithms&#xff09;&#xff1a;高级数据结构解析 图是一种由节点&#xff08;顶点&#xff09;和边组成的数据结构&#xff0c;用于表示不同元素之间的关系。图论算法旨在解决与图相关的问题&#xff0c;例如路径查找、最短路径、最…

零基础上手,秒识别检测,IDEA研究院发布全新T-Rex模型

目标检测作为当前计算机视觉落地的热点技术之一&#xff0c;已被广泛应用于自动驾驶、智慧园区、工业检测和卫星遥感等场景。开发者在研究相关目标检测技术时&#xff0c;通常需熟练掌握图像目标检测框架&#xff0c;如通用目标检测框架 YOLO 系列&#xff0c;旋转目标检测框架…