水题四道。

我的

水题四道--题目目录

问题 A: 依次输出第k小整数

 代码1

问题 B: 第k小整数(knumber)

 代码2

树的统计

 代码3

 枪声问题

 代码4


问题 A: 依次输出第k小整数

现有n个正整数,n≤10000,要求出这n个正整数中的第1小的整数,第2小的整数,第3小的整数,依次类推,直到将所有的整数都找完为止(小从到大),正整数均小于30000 。

第1行为n,
第2行开始为n个正整数的值,整数间用空格隔开。

第一行依次输出

1 第1小的整数

2 第2小的整数

3 第3小的是谁

……            (中间用一个空格分隔)

8 
8 6 8 6 1 3 6 9
1 1
2 3
3 6
4 8
5 9

其实就是第k小的铺垫。

 代码1

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,i,a[10005],t;
main(){
    cin>>n;
    for(i=1;i<=n;i++)cin>>a[i];
    sort(a+1,a+1+n);
    for(i=1;i<=n;i++)
        if(a[i]!=a[i+1])
            cout<<++t<<" "<<a[i]<<"\n";
}

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,i,a[10005],t;
main(){cin>>n;for(i=1;i<=n;i++)cin>>a[i];sort(a+1,a+1+n);for(i=1;i<=n;i++)if(a[i]!=a[i+1])cout<<++t<<" "<<a[i]<<"\n";
}

问题 B: 第k小整数(knumber)

现有n个正整数,n≤10000,要求出这n个正整数中的第k个最小整数(相同大小的整数只计算一次),k≤4000,正整数均小于30000 。

第1行为n和k,第2行开始为n个正整数的值,整数间用空格隔开。

第k个最小整数的值;
10  3
1 3 3 7 2 5 1 2 4 6
3

........

 代码2

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,i,a[10005],k,b[10005],t;
main(){
    cin>>n>>k;
    for(i=1;i<=n;i++)cin>>a[i];
    sort(a+1,a+1+n);
    for(i=1;i<=n;i++)if(a[i]!=a[i+1])b[++t]=a[i];
    sort(b+1,b+1+t);
    cout<<b[k];
}

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,i,a[10005],k,b[10005],t;
main(){cin>>n>>k;for(i=1;i<=n;i++)cin>>a[i];sort(a+1,a+1+n);for(i=1;i<=n;i++)if(a[i]!=a[i+1])b[++t]=a[i];sort(b+1,b+1+t);cout<<b[k];
}

树的统计

   某条街边上有长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即012……L,都种有一棵树。

由于马路上有一些地方要进行改造,需要改造的地方用它们在数轴上的起始点和终止点表示。已知任一范围的起始点和终止点在数轴上的位置都是整数,各范围之间可能有重合的部分。现在要把给定范围中的树(包括范围的端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。

如下图中,L=12,有4个范围要改造,分别是2—5,  3—6,  6—8,  7—11

则马路上还有3棵树。分别是第0112位置上的树,其他树都被移走了。


 

 从文件tongji.in读入数据,文件中的第一行有两个整数L(1 <= L <= 10000)和 M(1 <= M <= 100),L代表马路的长度,M代表区域范围的数目,L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域范围的起始点和终止点在数轴上的值。

结果输出到文件tongji.out中,只有一个整数,表示马路上剩余的树的数目。

12  4
2  5
3  6
6  8
7  11
3

离散化呗。

 代码3

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,m,i,x,y,f[100005],s;
main(){
    cin>>n>>m;
    for(i=1;i<=m;i++){cin>>x>>y;f[x]++;f[y+1]--;}
    for(i=0;i<=n;i++)f[i]=f[i-1]+f[i];
    for(i=0;i<=n;i++)if(f[i]==0)s++;
    cout<<s;
}

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,m,i,x,y,f[100005],s;
main(){cin>>n>>m;for(i=1;i<=m;i++){cin>>x>>y;f[x]++;f[y+1]--;}for(i=0;i<=n;i++)f[i]=f[i-1]+f[i];for(i=0;i<=n;i++)if(f[i]==0)s++;cout<<s;
}

 枪声问题

小明和小李同时参加了射击比赛,比赛规则是这样的,每次两人同时射击,每个人有S枚子弹进行射击,第1秒两人同时打出第一枚子弹,以后的s-1子弹可以自己根据一定的间隔时间打出,设小明后面的子弹每隔t1秒打出一枚子弹,小李后面的子弹每隔t2秒打出一枚子弹,如t1=2时,则后面子弹打出的时刻分别为4,7,10,13,…。如果某一时刻两人同时打出子弹,则只能听到一次响声,现在要你统计这两个人的比赛中共能听到几次枪声。

从文件gan.in中读入数据,文件中共有三行,第一行表示S的值(S<100),第二行是正整数t1的值(t1<=20),第三行是正整数t2的值(t2<=20)。

结果输出到gan.out 中,只有一个数,表示能听到的枪声的次数。

5
2
3
8

 代码4

#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define int long long
using namespace std;
int n,m,i,a[20010],x,y,t,w,b[20010],c[20010],j,s,d[20010],e[20010];
main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);cout.tie(NULL);
    cin>>n>>x>>y;
    t=1;i=1;
    while(i<=n){b[i]=t;t+=(x+1);i++;}
    w=1;i=1;
    while(i<=n){c[i]=w;w+=(y+1);i++;}
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            if(b[i]!=c[j])s++;
    cout<<n*2-(n*n-s);
}

#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define int long long
using namespace std;
int n,m,i,a[20010],x,y,t,w,b[20010],c[20010],j,s,d[20010],e[20010];
main(){ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);cin>>n>>x>>y;t=1;i=1;while(i<=n){b[i]=t;t+=(x+1);i++;}w=1;i=1;while(i<=n){c[i]=w;w+=(y+1);i++;}for(i=1;i<=n;i++)for(j=1;j<=n;j++)if(b[i]!=c[j])s++;cout<<n*2-(n*n-s);
}

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

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

相关文章

基于Multisim温控电风扇控制电路(含仿真和报告)

【全套资料.zip】温控电风扇控制电路设计Multisim仿真设计数字电子技术 文章目录 功能一、Multisim仿真源文件二、原理文档报告资料下载【Multisim仿真报告讲解视频.zip】 功能 2.1 设计内容 设计制作一个温控风扇自动控制系统电路。 2.2 设计要求 设计一温控风扇控制系统&am…

汽车管理系统——主界面制作

目录 主界面需要有什么&#xff1f;然后要做什么&#xff1f;添加两个主菜单&#xff08;声明&#xff09;下一步应该干什么&#xff1f;能够跳转到文件有哪几个动作&#xff1f;动作如何声明&#xff1f;为什么用选择声明指针&#xff0c;不选择直接声明这个对象&#xff1f; …

IO进程_day1

目录 概要 标准IO 1.概念&#xff1a; 2.特点&#xff1a; 3.缓存区 3.1行缓存&#xff1a;和终端操作相关 3.2全缓存&#xff1a;和文件操作相关 ​​​​​​​3.3不缓存&#xff1a;标准错误 stderr 4.函数 ​​​​​​​4.1打开文件 ​​​​​​​4.2关闭文件…

Java项目-基于springboot框架的体育馆运营系统项目实战(附源码+文档)

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/…

【STM32学习】PWM学习(四),散热风扇的控制,PWM调速调制,

目录 1、基础概念 2、PWM调速风扇功能介绍 2.1风扇功率 2.2、PWM输出流程图 2.3、PWM占空比计算 2.4参数计算 3、配置实现 3.1、添加TIM1功能 3.2、生成代码 3.3、修改代码 1、基础概念 参考&#xff1a;【STM32学习】PWM脉冲宽度调制学习笔记&#xff0c;&#xff…

量化交易:最大回撤(Drawdown)算法

量化交易:最大回撤(Drawdown)算法 写在前面: 本文为本人学习用于回测报告中的最大回撤算法指标时整理的学习笔记,欢迎沟通交流~ 一、基本概念 1.1 最大回撤(Max Drawdown) 回撤:对于任意日期区间,回撤 = 钱包的亏损比例 =(现值 - 原值)/ 原值 = 现值 / 原值 - 1 =…

基于SpringBoot+Vue的厨艺交流系统的设计与实现(源码+定制开发)厨艺知识与美食交流系统开发、在线厨艺分享与交流平台开发、智能厨艺交流与分享系统开发

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

java -jar 命令自动重启 Java 项目

一、java -jar 方式运行项目 重启Java项目通常意味着你需要先停止当前运行的Java进程&#xff0c;然后再次启动它。下面是在CentOS上执行这些步骤的一种常见方法&#xff1a; 停止Java进程 找到Java进程的PID&#xff1a; 使用ps命令配合grep来查找运行中的Java进程的PID&#…

关于WPF项目降低.Net版本

本来有项目是.NET Framework 4.8的&#xff0c;为了兼容升级到.NET 8.0&#xff0c;后期又为了兼容放弃.NET 8.0&#xff0c;升级的步骤&#xff1a;利用vs2022 的 .NET Upgrade Assistant 扩展&#xff0c;磕磕绊绊也升级完成了&#xff1b; 扩展链接&#xff1a; Upgrading…

windows下安装VirtualBox7.1.4

记录详细的安装过程与遇到的问题&#xff1b; 下载地址 virtualbox官网 清华镜像源下载 下载完成后文件&#xff1a; 双击打开&#xff1b; 报错了 意思是需要pc上先安装Microsoft Visual C 2019 https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redi…

分布式数据库环境(HBase分布式数据库)的搭建与配置

分布式数据库环境&#xff08;HBase分布式数据库&#xff09;的搭建与配置 1. VMWare安装CentOS7.9.20091.1 下载 CentOS7.9.2009 映像文件1.2启动 VMware WorkstationPro&#xff0c;点击“创建新的虚拟机”1.3在新建虚拟机向导界面选择“典型&#xff08;推荐&#xff09;”1…

2024java高频面试之JVM

说说 JVM 内存区域 程序计数器 是「程序控制流的指示器&#xff0c;循环&#xff0c;跳转&#xff0c;异常处理&#xff0c;线程的恢复等工作都需要依赖程序计数器去完成」。程序计数器是「线程私有」的&#xff0c;它的「生命周期是和线程保持一致」的&#xff0c;我们知道&a…

【STM32开发笔记】移植AI框架TensorFlow【DSP指令加速篇】

【STM32开发笔记】移植AI框架TensorFlow【DSP指令加速篇】 一、前文回顾二、CMSIS-NN简介2.1 为什么介绍CMSIS-NN&#xff1f;2.2 CMSIS-NN是什么&#xff1f;2.3 CMSIS-NN核心特性2.4 CMSIS-NN算子支持 三、TFLMCMSIS-NN集成3.1 包含TFLM的STM32项目3.2 理解TFLM中CMSIS-NN相关…

【前端学习】HTML+CSS+JavaScript 入门教程

文章目录 前言1. HTML、CSS、JavaScript 的关系2. HTML2.1 什么是 HTML2.2 认识标签2.3 HTML 常见标签1&#xff09;标题标签&#xff1a;h1 - h62&#xff09;段落标签&#xff1a;p3&#xff09;换行标签&#xff1a;br4&#xff09;图片标签&#xff1a;img5&#xff09;超链…

Linux系统:(Linux系统概述与安装)

硬件计算机硬件是指计算机系统中所有物理部件的总称。包括计算机主机、显示器、键盘、鼠标、内存、硬盘、处理器、主板等等。这些硬件部件是计算机系统运行的基础 不管是电脑系统(个人电脑、服务器等)、还是移动端操作系统(手机、平板等)。它的功能就是做为用户和硬件之间的桥梁…

Java配置 Redis 连接互斥锁或队列预先加载缓存

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把手教你开发炫酷的vbs脚本制作(完善中……&#xff09; 4、牛逼哄哄的 IDEA编程利器技巧(编写中……&#xff09; 5、面经吐血整理的 面试技…

2024年龙信

挂载VC的密码&#xff1a;MjAyNOmmeS/oeadrw 手机取证 1. Android 设备在通过 ADB 连接时&#xff0c;通常会要求用户授权连接&#xff0c;会要求用户确认设备授权&#xff0c;并将该设备的公钥保存在 adb_keys文件中 寻找到data/misc/adb/adb_keys下面有中有两个&#xff0c;…

动态规划:17.简单多状态 dp 问题_买卖股票的最佳时机III_C++

题目链接&#xff1a; 一、题目解析 题目&#xff1a;123. 买卖股票的最佳时机 III - 力扣&#xff08;LeetCode&#xff09; 解析&#xff1a; 拿示例1举例&#xff1a; 我们可以如图所示买入卖出股票&#xff0c;以求得最大利润&#xff0c;并且交易次数不超过2次 拿示…

webpack自定义插件 ChangeScriptSrcPlugin

插件文件 class ChangeScriptSrcPlugin {apply(compiler) {const pluginName "ChangeScriptSrcPlugin";compiler.hooks.compilation.tap(pluginName, (compilation, callback) > {compilation.hooks.htmlWebpackPluginAlterAssetTags.tapAsync(pluginName,(html…

N9305高品质mp3音频语音芯片ic在早教故事机的应用方案

随着人们对教育的重视程度不断提高&#xff0c;儿童早教机已经成为了很多家庭的教育必备品。N9305音乐芯片在早教故事机中的应用&#xff0c;不仅为孩子们带来了丰富多彩的故事世界&#xff0c;还以其卓越的音质表现和功能&#xff0c;进一步提升了早教体验。 九芯电子N9305高品…