首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
haha~~
2017-09-02 17:42
西安电子科技大学 C++
关注
已关注
取消关注
拼多多第一题,按照要求输出了,结果只有40%
题中输出的小熊的饥饿值是按输入小熊的顺序输出的。
不知道C++中怎么做的这一点的。我用的方法只通过40%,应该是运行超时了。。
提示
全部评论
推荐
最新
楼层
海强
电子科技大学 C++
这个是我的代码, 也不知道怎么错. 同求高人指点. #include <iostream> #include <algorithm> #include <set> #include <vector> #include <stack> #include <set> #include <list> #include <bitset> #include <cstring> using namespace std; struct Bear { int fight; int hungry; }; int find_h(vector<Bear>& bears) { int i = 0; int h = -1; int idx = -1; while (i < bears.size()) { if (bears[i].hungry <= 0) { i++; continue; } if (h < bears[i].hungry) { h = bears[i].hungry; idx = i; } i++; } return idx; } void bear_eat(vector<Bear> &bears, int idx, vector<int>& suguars) { for (int i = suguars.size() - 1; i >= 0; i--) { if (suguars[i] == -1) continue; else if( suguars[i] > bears[idx].hungry) continue; else { bears[idx].hungry -= suguars[i]; suguars[i] = -1; break; } } } bool can_eat(vector<Bear> &bears, vector<int> &suguars) { vector<int> hs; for (int i = 0; i < bears.size(); i++) { if (bears[i].hungry > 0) { hs.push_back(bears[i].hungry); } } for (int i = 0; i < suguars.size(); i++) { if (suguars[i] > 0) for (auto& h: hs) if (suguars[i] <= h) return true; } return false; } void hdl(vector<Bear>& bears, vector<int>& suguars) { sort(suguars.begin(), suguars.end()); while (can_eat(bears, suguars)) { int most_h = find_h(bears); if (most_h == -1) break; bear_eat(bears, most_h, suguars); } } int main() { int n, m; cin >> n >> m; vector<int> suguars; for (int i = 0; i < m; i++) { int tmp; cin >> tmp; suguars.push_back(tmp); } vector<Bear> bears; for (int i = 0; i < n; i++) { int f = 0, h = 0; cin >> f >> h; bears.push_back({f, h}); } hdl(bears, suguars); for (int i = 0; i < bears.size() - 1; i++) cout << bears[i].hungry << endl; cout << bears[bears.size() - 1].hungry; return 0; }
点赞
回复
分享
发布于 2017-09-02 18:08
haha~~
楼主
西安电子科技大学 C++
#include<iostream> #include<vector> #include<algorithm> using namespace std; bool cmp(int a, int b) { return a > b; } bool cmp1(vector<int>a, vector<int>b) { return a[0] > b[0]; } int main() { int n, m; while (cin >> n >> m) { vector<int>a(m); //糖的能量值 for (int i = 0; i < m; i++) cin >> a[i]; vector<vector<int>>b(n,vector<int>(2)); //存储小熊的战斗力和饥饿值 for (int i = 0; i < n; i++) { for (int j = 0; j < 2; j++) { cin >> b[i][j]; } } sort(a.begin(), a.end(),cmp); vector<vector<int>>b1(b.begin(), b.end()); sort(b1.begin(), b1.end(), cmp1); vector<int>flag(m, 0); vector<int>res(n,0); //存储小熊剩余饥饿值 for (int i = 0; i < n; i++) { int j = 0; int tmp = b1[i][1]; while (j < m) { if (a[j] <= tmp && !flag[j]) { tmp = tmp - a[j]; flag[j] = 1; } j++; } res[i]=tmp; } for (int i = 0; i < n; i++) //输出 { int t = b[i][0]; for (int j = 0; j < n; j++) { if (b[j][0] == t) { cout << res[j] << endl; break; } } } } } 不知道为什么只通过了40%,思路应该没问题,我觉得应该是超时了。求大神指点。
点赞
回复
分享
发布于 2017-09-02 18:17
ker
西北工业大学 C++
要按照原来输入小熊的顺序 输出相应的饥饿值
点赞
回复
分享
发布于 2017-09-02 18:21
寻影657
西南交通大学 Java
用例中提供的数据是排序了的
点赞
回复
分享
发布于 2017-09-02 18:45
相不相信玄学呢
杭州电子科技大学 Java
你是没按要求输出,题目要求按给的熊的顺序而不是排序后的熊的顺序
点赞
回复
分享
发布于 2017-09-02 19:02
恭喜您顺利入职
家里蹲 Java
妹子刷题量惊人啊
点赞
回复
分享
发布于 2017-09-02 19:08
sty0223
中国科学技术大学 C++
话说你sort的写法编译能通过?我也这么写的编译就过不去,只好手撸个冒泡排序。。。
点赞
回复
分享
发布于 2017-09-03 09:49
笑忘书丶
成都信息工程大学 C++
用sort(begin,end,compare),排序两次。第一次按照战斗力排序,第二次按照编号排序。
点赞
回复
分享
发布于 2017-09-03 09:54
还没有回复哦~
相关推荐
今天 17:48
中山大学 C++
想回重庆找工作就这么难吗
bg双9,约面的一只手可数,目前重庆offer0,cnmlgbd,我做错了什么
找工作中的意难平
点赞
评论
收藏
分享
11-21 14:45
CVTE_运营管理_HR
拿完offer再挑
目前池子里已经有很多同学泡着了,各个学校的三方也已经陆续开放,但是并不代表着签完三方就结束了,很多同学还会有违约考虑国企央企,所以10月到11月之间对于大部分同学来讲,还是没办法完全放松(已经拿到满意的offer的另说) ,还没有投的同学最后都投上吧,春招hc都不一定有秋招中期的剩下的hc多,直入主题,大家都关注的问题cvte加不加班?加还是加的,但是看部门,软硬件基本都是8点钟走其他的一些文职部门我看下班还是六点准时的而且不是强制,你事情做完可以走的,全天不打卡工资待遇怎么样?待遇还是挺不错,校招普遍都是10k以上,目前我见过最高的是18k的。福利待遇有哪些?五险一金啥的不用说了。住房公积...
CVTE公司福利 266人发布
点赞
评论
收藏
分享
10-18 13:01
已编辑
西安理工大学 C++
简历已经无敌了 你们肯定没办法找到问题
小米内推大使:
建议技能还是放上面吧,hr和技术面试官第一眼想看的应该是技能点和他们岗位是否匹配
点赞
评论
收藏
分享
10-05 23:02
东北大学 Java
很难想象仅仅过去了4年找工作的难度就大不一样
我说句实话啊:
那时候看三个月培训班视频,随便做个项目背点八股,都能说3 40w是侮辱价
点赞
评论
收藏
分享
昨天 17:21
已编辑
麻城理工学校 算法工程师
秋招大结局来啦
你可以建造自己的塔,创造一个没有邪恶的地方,一个充满富足,和平与美丽的世界 --宫崎骏《你想活出怎么的人生》 bg双9机械,课题组传统力学方向,无论文无项目,两段自驾实习。我原本不会想到我会十二月才把三方寄出去,算上暑期实习,这场春天到深秋的秋招,持续了半年多才结束。回想起一路的历程,心态比较好再加上期望没有那么高,还是算比较满意的秋招吧。二十二"他常会想要能回到那年他一十二,只需要好好上学生活单纯没忧愁",不说回到十年前,回到二十一,可能我也是这样的状态,不知道leetcode刷题,不知道牛客,不知道未来要干什么,跟风考研,所幸考上了喜欢的城市...
牛客刘北:
我也说不出什么动听的话“”小舟从此逝,江海寄余生“”
华为成长空间 476人发布
25届秋招总结
点赞
评论
收藏
分享
点赞成功,聊一聊 >
点赞
收藏
评论
分享
回复帖子
提到的真题
返回内容
全站热榜
1
...
从露宿街头到百万级种子轮融资——我的大学时代经历了什么
2.2W
2
...
字节20多面终究一场空
2.0W
3
...
到了新公司,不要用力过猛
1.6W
4
...
华为电话oc了
1.5W
5
...
C++选手秋招总结
1.3W
6
...
华为开奖,详细时间线
1.2W
7
...
泡出来啦
1.2W
8
...
我也是好起来了,都能收到offer了
1.1W
9
...
寒假实习租房攻略!北京版
9109
10
...
秋招圆满结束!!
7459
正在热议
#
25届秋招总结
#
370603次浏览
3667人参与
#
如果再来一次,你还会选择这个工作吗?
#
96827次浏览
946人参与
#
百度开奖
#
225814次浏览
1469人参与
#
地方国企笔面经互助
#
5802次浏览
13人参与
#
ai智能作图
#
8525次浏览
140人参与
#
发工资后,你做的第一件事是什么
#
3913次浏览
15人参与
#
北方华创开奖
#
64044次浏览
498人参与
#
我的实习求职记录
#
6099073次浏览
83787人参与
#
简历被挂麻了,求建议
#
2520850次浏览
33420人参与
#
上班到公司第一件事做什么?
#
14499次浏览
164人参与
#
阿里求职进展汇总
#
71606次浏览
780人参与
#
听到哪句话就代表面试稳了or挂了?
#
96378次浏览
808人参与
#
华为工作体验
#
108945次浏览
851人参与
#
网易求职进展汇总
#
38758次浏览
331人参与
#
如何写一份好简历
#
615138次浏览
8692人参与
#
如果有时光机,你最想去到哪个年纪?
#
26654次浏览
550人参与
#
面试体验感最好的是哪家?
#
91291次浏览
914人参与
#
腾讯求职进展汇总
#
204638次浏览
1686人参与
#
还记得你第一次面试吗?
#
27967次浏览
366人参与
#
硬件兄弟们 甩出你的华为奖状
#
75235次浏览
611人参与
#
实习中的菜狗时刻
#
279769次浏览
2754人参与
#
如何一边实习一边秋招
#
1001827次浏览
12726人参与
牛客网
牛客企业服务