华为笔试——C++最高分问题
题目介绍:现在输入一组数据,写入学生的考试分数。已知学生数为N,学生编号为1到N,且0<N<=30000,每个学生都有一个分数;操作数为M且0<M<5000。输入第一行为N M,接下来是1行N列数据代表学生的初试分数,接下来是M行操作数据。已知操作有两种,分为Q和U。一次操作的格式为 C A B,当C=Q时输出A到B(包括A和B)的学生最高分,当C=U时将ID为A的学生的分数写入为B。
例:
输入:
5 7
1 2 3 4 5
Q 1 5
U 3 6
Q 3 4
Q 4 5
U 4 5
U 2 9
Q 1 5
输出:
5
6
5
9
分析:一开始是设想char一个m行3列的数组,但是考虑到ID和分数都可能不是个位数因此还是分别设置好了。查询指令中A不一定比B小这一点也要考虑到。
#include <iostream>
using namespace std;
int main()
{
int m, n;
int result = ;
while (cin >> n >> m)
{
int *score = new int[n];
for (int i = ; i < n; i++)
{
cin >> score[i];
}
char *cha = new char[m];
int *one = new int[m];
int *two = new int[m];
for (int i = ; i < m; i++)
{
cin >> cha[i] >> one[i] >> two[i];
}
for (int i = ; i < m; i++)
{
if (cha[i] == 'Q')
{
if (two[i] > one[i])
{
for (int j = one[i] - ; j <= two[i] - ; j++)
{
if (score[j] >= result)
{
result = score[j];
}
}
}
else {
for (int j = two[i] - ; j <= one[i] - ; j++)
{
if (score[j] >= result)
{
result = score[j];
}
}
}
cout << result << endl;
result = ;
}
if (cha[i] == 'U')
{
score[one[i] - ] = two[i];
}
}
}
}
结果:
华为笔试——C++最高分问题的更多相关文章
- 华为笔试——C++括号匹配
题目:括号匹配 题目来源:https://blog.csdn.net/lizi_stdio/article/details/76618908 题目介绍:输入一个字符串,里面可能包含“()”.“ [ ...
- 27号华为笔试(三道ac两道)
三道题目case:100,100,0: 三个题目: 前两个都全部ac了,第三题没时间: 记录一下大概的思路: 第一题 主要通过Java中的字符串处理函数:然后控制字符串输入格式: 卡bug的点: 1: ...
- 华为笔试——C++平安果dp算法
题目:平安果 题目介绍:给出一个m*n的格子,每个格子里有一定数量的平安果,现在要求从左上角顶点(1,1)出发,每次走一格并拿走那一格的所有平安果,且只能向下或向右前进,最终到达右下角顶点(m,n), ...
- 华为笔试——C++字符串四则运算的实现
题目:字符串四则运算的实现 有字符串表示的一个四则运算表达式,要求计算出该表达式的正确数值.四则运算即:加减乘除"+-*/",另外该表达式中的数字只能是1位(数值范围0~9),运算 ...
- 华为笔试——C++的int型数字位排序
题目:int型数字位排序 题目介绍:输入int 型整数,按照从右至左的顺序,返回不含重复数字的新整数. 例: 输入: 99824270 输出: 072489 分析:乍一看很简单,但是很容易忽略int ...
- 华为笔试——C++特定位数比较
题目:特定位数比较 题目介绍:输入两行数据,第一行为 m 个正整数,以空格隔开:第二行为正整数 n ,且 n<= m:要求对第一行的数字的后三位大小进行排序,输出排行 n 的数字,其中,若不满三 ...
- 华为笔试——C++进制转换
题目:2-62进制转换 题目介绍:输入一个n1 进制的整数(包括负数),将其转换成n2 进制,其中n1 .n2 的范围是 [ 2,62 ] .每个数字的范围是0-9.a-z.A-Z.不用考虑非法输入. ...
- 华为笔试——C++消重输出
题目:消重输出 题目介绍: 输入一个正整数,给出消除重复数字以后最大的整数,注意需要考虑长整数. 例: 输入:988274320 输出:9874320 题目分析:这个结果的实现需要两个步骤:消重和排序 ...
- 华为笔试——C++转换字符串问题
题目:转换字符串 题目介绍: 将输入字符串中下标为偶数的字符连成一个新的字符串输出,需要注意两点: 1. 如果输入字符串的长度超过20,则转换失败,返回“ERROR!”字符串: 2. 输入字符串只能由 ...
随机推荐
- 【转】 android中的文件操作详解以及内部存储和外部存储
摘要 其实安卓文件的操作和Java在pc环境下的操作并无二致,之所以需要单独讲解是因为安卓系统提供了不同于pc的访问文件系统根路径的api,同时对一个应用的私有文件做了统一的管理.根据我的经验,初学者 ...
- access数据库及其分页的方法
首先access数据库的话,感觉针对比较小型的网站比较适合.携带方便,不需要按照特定的sql环境. 当然如果使用access数据库的话 1.首先你先要下载办公五合一(access也是其中之一) 2.w ...
- 插件式程序开发及其应用(C#)
1. 定义 所谓“插件模型”,指应用程序由一些动态的独立模块构成,每个模块均具有一个或多个服务,并满足一定的插件协议,能够借助主程序实现主程序-插件:插件-插件之间的通讯. 应用该模型的系统,具有以 ...
- MVC下载文档
public FileStreamResult DownFile(string content,string name) { ProInterface.ISubject ems = new ProSe ...
- MongoDB查找条件
1. 关系运算符 $eq 等于 $lt 小于 $lte 小于等于 $gt 大于 $gte 大于等于 $in 在范围内 //查询名字为“小明”和“小刚”的 $condition = [ ' ...
- ALV-TREE -转
****要注意创建相应程序的屏幕0100**** 在一些情况下,输出的ALV可能用树形结构更容易展现数据之间的相互关联,为了输出ALV-TREE主要用到的是容器类(如CL_GUI_CONTAINER或 ...
- JavaWeb基础—HttpServletRequest
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中, 通过这个对象提供的方法,可以获得客户端请求的所有信息. ...
- Why network port is open but no process attached?(为什么端口被打开,但是没有进程号)
When I check my system today, I noticed a weird output from netstat’s output, joseph# sudo netstat - ...
- 3、modleForm组件
1.原生form表单 步骤: 1.models.py ... makemigrations migrate 3.createsuperuser yuan yuan1234 1.addbook:(get ...
- Openstack入门篇(十一)之neutron服务(控制节点)的部署与测试
1.Neutron的介绍 Neutron 为整个 OpenStack 环境提供网络支持,包括二层交换,三层路由,负载均衡,防火墙和 *** 等.Neutron 提供了一个灵活的框架,通过配置,无论是开 ...