蓐羊毛 C++

题目描述

蓐羊毛活动:
药店为了吸引顾客,每天举行多场老年人养生讲座,内场主题不同,开始时间,时长都可能不同,参加者入场时签名,散场时能获得一个红包,参加下一场的条件,下一场开始的时间大于等于上一场结束时间。
王奶奶在家没事做,就像蓐羊毛,挣红包。
针对几场讲座的通知,请你给王奶奶设计一个计划表,告诉她参加哪几场,让她挣的红包最多(只看红包个数)。
PS:如果有多种结果收益相同,最终结果挑选结束时间早的那场数据,如果结束时间一样,选开始晚的。
比如:
(3,6)(1,5)(6.7)
那么有两种安排
1、(3,6)(6,7)
2、(1,5)(6,7)
最终挑选结束早的那场(1,5),最终推荐给王奶奶的计划表为(1,5)(6,7)
比如:
(6,7)(8,10)(9,10)
那么有两种安排
1(6,7)(8,10)
2(6,7)(9,10)
最后一场,结束时间一样,选开始晚的那场(9,10),最终推荐给王奶奶的计划表为(6,7)(9,10)

输入描述

每一对括号表示一场数据,开始时间和结束时间以“,”隔开,场与场之间以空格分开,如下所示:
(3,6) (4,5) (6,7) (8,10) (9,10)

输出描述

第一行表示总共参加的场次,以关键字(count)加“:”输出
第二行表示具体参加的场次,场与场之间以空格分开,按结束时间升序排列
count:3
(4,5) (6,7) (9,10)

解题思路

将场次按照要求排序,然后依次检索合适的场次

代码

#include <iostream>
#include <algorithm>
#include<vector>
#include<string>
using namespace std;
//定义自己的结构体
struct Meet {int begin;int end;
};
//比较函数
bool cmp(Meet x, Meet y) {if (x.end == y.end) {//如果结束时间一致,开始时间晚的排在前面return x.begin>y.begin;}return x.end < y.end;//否则,结束时间早的排在前面
}
int main ()
{string s;//输入字符串vector<int> an;vector<Meet> meet;vector<Meet> output;getline(cin,s) ;//获取字符串int sum = 0;for (auto i = 0;i < s.size();i++){if (s[i] >= '0'&&s[i] <= '9')sum = sum * 10 + s[i] - '0';//提取出字符串中连续的数字,例如10,11等两位及两位以上的数字else{if (s[i] == ',' || s[i] == ')'){an.push_back(sum);//将提取出的数字压入an,为后面为meet赋值做准备sum = 0;}}}//为meet赋值for(int i=0;i<an.size()/2;){for (int k = 0;k < an.size()-1;k+=2){Meet local;local.begin = an[k];local.end = an[k + 1];meet.push_back(local);i++;}}sort(meet.begin(), meet.end() , cmp);int last = meet[0].end;output.push_back(meet[0]);for (int i = 1; i < an.size()/2; i++) {if (meet[i].begin >= last) {//如果第nci会议开始时间大于已经参与会议的结束时间,添加入计划last = meet[i].end;output.push_back(meet[i]);}}cout << "count:"<<output.size() << endl;for (int k = 0;k<output.size();k++){cout << "(" << output[k].begin << "," << output[k].end << ")" << " ";}system("pause");return 0;
}

示例:

华为笔试-蓐羊毛 (C++)相关推荐

  1. Seeker的奇妙求职历险(华为笔试)

    矩阵报数 题目: 给出一个旋转矩阵,M行N列,左上角为(0,0),右下角为(M-1,N-1),从左上角开始计数,顺时针从外圈开始,外圈遍历完之后再遍历内圈,直到遍历完所有的点. 返回所有个位数为7且十 ...

  2. 华为 社招 C语言笔试,华为笔试C语言笔试题之3

    <华为笔试C语言笔试题之3>由会员分享,可在线阅读,更多相关<华为笔试C语言笔试题之3(10页珍藏版)>请在人人文库网上搜索. 1.C 语言笔试题之34. static 有什么 ...

  3. 2020.9.9华为笔试记忆:KMP+记忆化搜索+字典树

    2020.9.9华为笔试 当然,出现在我博客中的笔试都不是我自己的笔试(人家也不给我发笔试链接,小声bibi,诶,好像我也没投,hhhahahha 记者:为什么要做笔试? 我:生活无聊了喏,肯定要做啊 ...

  4. 2019华为笔试 找终点

    [算法][华为]2019华为笔试 找终点:给定一个正整数数组,最大为100个成员,从第一个成员开始,走到数组最后一个成员最少的步骤数, https://blog.csdn.net/qinglingLS ...

  5. 华为笔试时发现golang ACM模式输入的一个坑

    华为笔试时发现golang ACM模式输入的一个坑 golang ACM模式常用输入方法(scan,bufio):https://zhuanlan.zhihu.com/p/551393704 问题 第 ...

  6. 【2019华为笔试】召唤师的技能——圆排列,翻转和项链排列

    题目描述: dota游戏里面,召唤师可以控制冰雷火三种元素,并通过元素组合产生新的技能.现在我们修改了张新的地图, 地图中他能够控制n种元素, 并且将m个元素围成一个圈组成一 个新技能(这m个元素通过 ...

  7. 旅行商问题(华为笔试蜜蜂采蜜问题)

    旅行商问题是算法中比较难的一类题目,也是比较综合的题目之一,其变种的题目也非常灵活,应用场景非常广泛,前段时间在做华为笔试题目的时候,遇到了一个与旅行商问题相关的蜜蜂飞行采花粉问题: 题目大意是:一个 ...

  8. 华为笔试机考题库2023【区域发电量统计】

    题目描述 祖国西北部有一片大片荒地,其中零星的分布着一些湖泊,保护区,矿区.整体上常年光照良好,但是也有一些地区光照不太好.某电力公司希望在这里建设多个光伏电站,生产清洁能源对每平方公里的土地进行了发 ...

  9. 【转载】旅行商问题(华为笔试蜜蜂采蜜问题)

    本文转载链接: https://blog.csdn.net/qq_29592167/article/details/90243408 感谢来自Raintin_coder的分享 旅行商问题是算法中比较难 ...

最新文章

  1. GitHub 又一开源神器!写代码、搜问题,全部都在「终端」完成!
  2. 网络——在网络上发送,接收数据
  3. 在计算机中描述景物结构形状与外貌,在计算机中通过描述景物的结构、形状与外貌,然后将它绘制成图在屏幕上显示出来,此类图像称为_____。...
  4. mysql8.0.13 rpm_Centos7 安装mysql 8.0.13(rpm)的教程详解
  5. 145_Power BI Report Server自定义Form登录
  6. python里order_volume_Python 基础知识:Method Resolution Order (MRO) 和 super
  7. ssas表格模型 权限控制_创建第一个SSAS表格模型数据库
  8. 关于广告投放系统:竞价策略(2018)
  9. .fit VS .fit_generator in Keras
  10. subDomainsBrute 子域名工具 源码分析
  11. vue中平滑地回到顶部,回到底部
  12. java 查看window系统和linux系统信息
  13. android 自定义键盘震动,实现android按键震动按键声音的机制
  14. 机械振动学习笔记1-3章
  15. 他出身草根,却是 Google 资深工程师
  16. C# 导出excel文件的6种办法
  17. iOS App Singer 重签名工具的使用简介
  18. 光学分辨率光声显微镜中基于深度学习的运动校正算法
  19. 渣基础:比照Hawstein学Cracking the coding interview(3)
  20. SUMPRODUCT countif

热门文章

  1. CNN图像多标签分类
  2. 树莓派-OMV-NAS
  3. 前端加油鸭!【FCC】JavaScript基础(1)
  4. 热敏电阻、RTD和热电偶之间的区别
  5. Modbus协议格式
  6. 手机led显示屏控制软件大全,手机led显示屏控制软件哪个好?
  7. 自考大专计算机专业英语翻译,2018年自考《英语翻译》练习试题及答案
  8. 文件服务器多大内存,文件服务器需要多大内存支持
  9. C# 实现 省市区三级联动(表中包含经纬度取自淘宝地址管理)
  10. Java接口、注解、反射