为了快点AC,就没考虑其它的了,实际2小时半的3道题,1小时完全可以做完,这个题目还是比较简单、基础。

1. 歌手评分

题目

不断按行读入格式为“打分数量-分数1-分数2-分数n”的串,去掉最高分、最低分,求平均分,以保留小数点2位输出。

分析

使用vector保存分数,调用库函数sort后,.begin()+1与.end()-1即可去掉最高分、最低分,然后求平均即可。难点在于题目要求是不断按行输入,所以就用个getline 按字符串的形式接收。

#include<iostream>
#include<vector>
#include<algorithm>
#include<numeric>
#include <iomanip>
#include<string>
using namespace std;int main()
{vector<double> a;string line;const char *sep = " ";char *p;while (getline(cin, line)) {char temp[20];p = strtok(strcpy(temp, line.c_str()), sep);while (p) {a.push_back(atoi(p));p = strtok(NULL, sep);}sort(a.begin()+1, a.end());double sum = accumulate(a.begin() + 2, a.end() - 1, 0);double result = sum / (double)(a[0] - 2);printf("%0.2f\n", result);a.clear();}return 0;}

2. 猜数字

题目

通常由两个人玩,一方出数字,一方猜。出数字的人要想好一个没有重复数字的4位数,不能让猜的人知道。猜的人就可以开始猜。每猜一个数字,出数者就要根据这个数字给出几A几B,其中A前面的数字表示位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数。

如正确答案为 5234,而猜的人猜 5346,则是 1A2B,其中有一个5的位置对了,记为1A,而3和4这两个数字对了,而位置没对,因此记为 2B,合起来就是 1A2B。

如上描述,输如格式为“1 2 3 4\n2 3 4 5”的数字,然后输出“0A3B”。

分析

写个for 循环判断下就好。

#include<iostream>using namespace std;int judge(int *A, int *B) {int a = 0, b = 0;for (int i = 0; i < 4; i++) {if (*(A + i) == *(B + i)) {a++;}else {for (int j = 0; j < 4; j++) {if (*(A + i) == *(B + j)) {b++;}}}}cout << a << "A" << b << "B" << endl;return a - b;}
int main() {int standard[4], answer[4];for (int j = 0; j < 4; j++) {cin >> standard[j];}for (int j = 0; j < 4; j++) {cin >> answer[j];}judge(standard, answer);return 0;
}

3. 青蛙跳过河

题目

输入格式为“10\n2 3 5\n2 3 5 6 7”,其中第一行”10”为河的长度,第二行”2”与“3”表示青蛙跳跃的最小、最大距离,第二行的“5”是指河中石头的位置(以0为起点,10为终点),求青蛙踩石头的最少数目。
青蛙刚好到和跳过都算过桥。

分析

读入的河的长度,按题目描述,有70%的数据值会到10^9,因此我这种开10^3整形数组的方式绝对是不正确的,而且使用的是一个简单迭代,按理说10^9应该会超时,但它就是过了,这算是幸运呢还是不幸呢,反正这个解答我不满意,还请有其它更好解答的大牛们留言告知。

#include<iostream>
#include<vector>
#include<numeric>
#include<algorithm>
#include <iomanip>
using namespace std;
int a[10000];
int len;
int s1, s2, num;
vector<int> result;void go(int i,int count) {if (i < len) {if (a[i])count++;for (int j = s1; j <= s2; j++) {go(i + j,count);}}if (i >= len) {result.push_back(count);}
}int main()
{//int len = 0;cin >> len;cin >> s1 >> s2 >> num;for (int i = 0; i < num; i++) {int x = 0;cin >> x;a[x] = 1;}go(0,0);sort(result.begin(), result.end());cout << result[0] << endl;return 0;
}

华为2018 软件题AC相关推荐

  1. 华为2018软件岗笔试题解题思路和源代码分享

    2017年9月26日,参加了华为技术有限公司的笔试,题目类型是软件题,没有选择填空问答类型,总共是3道编程题目,题目难度适中,在两个小时内完成3道题目的AC,所以分享的代码都是可运行且完全AC的! 和 ...

  2. 2019/04/12 华为通用软件开发工程师现场面试(offer到手)

    2019/04/12 华为通用软件开发工程师现场面试(offer到手) 时间轴 三月中旬做的笔试 3题ac两道 4/8 性格测试 4/12 现场面试 地点是 广州某家酒店,近地铁站的,中大过去也是要一 ...

  3. 华为2018届校招勇敢星实习生招聘笔试+面试经历

    写在前面   之前一直在忙期末,最近才歇了下来,来总结一下之前参加华为2018届勇敢星实习生笔试+面试(研发类)并顺利拿到offer的经历.   我是在微信上投的Android研发实习生岗,很快就收到 ...

  4. 华为2018届校招技术岗笔试题及个人解答

    前言 昨天(9.13)参加了华为2018届的技术岗笔试,特此总结一下笔试的题目和我个人的解答思路. 笔试题一共是三道编程题,大致是数值反向输出,比较和排序,相对较基础. PS:由于没有截图,所以题目是 ...

  5. 华为2018款MateBook X Pro实现多屏协同

    按照官方的说明,2018款MateBook X Pro无法实现多屏协同(这就很离谱),所以我突发奇想,按照非华为电脑进行华为电脑管家的安装,没想到还真可以. 本人的设备:华为2018款MateBook ...

  6. 华为2021软件精英挑战赛复赛赛后方案分享

    华为2021软件精英挑战赛复赛赛后方案分享 引言: 赛题介绍 资源规划和调度 输入示例: 输出示例: 总体处理流程 部署策略 购买策略 迁移策略 赛后感受 开源代码 引言: 我是来自成渝赛区UESTC ...

  7. 华为校招软件上机考试题目解析

    转载请注明出处: http://blog.csdn.net/gane_cheng/article/details/52184215 http://www.ganecheng.tech/blog/521 ...

  8. 2022年全国研究生数学建模竞赛华为杯F题COVID-19疫情期间生活物资的科学管理问题求解全过程文档及程序

    2022年全国研究生数学建模竞赛华为杯 F题 COVID-19疫情期间生活物资的科学管理问题 原题再现:   一.背景介绍   进入2022年以来全国范围内陆续出现了多次较大规模疫情爆发事件[1-2] ...

  9. 参加华为2017软件精英比赛的经历

    最近参加了华为2017软件精英大赛,从3月初看到比赛信息开始构思解决方案,到4月初清明节前完成所有代码编写,然后开始调算法参数,再到4月5日初赛结束,一直忙碌了近一个月,要么是在敲代码,要么是在想怎么 ...

最新文章

  1. 《mysql性能调优与架构设计》笔记: 一mysql 架构组成
  2. 【转】Android:ListView常见错位之CheckBox错位
  3. 在.NET Core中使用Exceptionless分布式日志收集框架
  4. Python---实验八
  5. Win7虚拟无线AP以及Android手机抓包
  6. mysql 联合索引的命中规则_可能是全网最好的MySQL重要知识点/面试题总结
  7. C#语法之event关键字
  8. 必须声明标量变量是什么意思_机器视觉学习之halcon系列---一文带你理解handle变量是什么意思...
  9. 转速恒压频比交流变频调速系统Simulink仿真,可观察到电压频率的变比情况以及电动机的转速波形
  10. 火车票软件哪个好用_买火车票的软件哪个最好
  11. odac oracle效率差,垃圾,奇慢 ORACLE ODAC
  12. 鸿蒙HarmonyOS,真的来了!
  13. 2018妙计旅行笔试题
  14. directive-自定义指令
  15. 有符号数和无符号数在计算机中怎么区分?
  16. SQL SERVER 软件和安装步骤
  17. PS基础 之 图层样式的使用
  18. Mysql中INSTANT使用
  19. 如何确定当前的iPhone /设备型号?
  20. 通过JAVA读取Visio

热门文章

  1. Linux vim永久显示行号
  2. qpython oh下载_qpython手机版下载
  3. 操作符详解——C语言入门篇
  4. 盛迈坤电子商务:店铺质量分怎么操作
  5. 查看 Python 已安装模块的方法
  6. 群雄逐“图”,百度缘何备受关注?
  7. C++中int 转char
  8. Excel - VBA基础应用
  9. 用GBDT构建组合特征
  10. 远程监控摄像头在流媒体服务器显示无视频信号?