首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
haha~~
2017-09-02 17:42
西安电子科技大学 C++
关注
已关注
取消关注
拼多多第一题,按照要求输出了,结果只有40%
题中输出的小熊的饥饿值是按输入小熊的顺序输出的。
不知道C++中怎么做的这一点的。我用的方法只通过40%,应该是运行超时了。。
提示
全部评论
推荐
最新
楼层
笑忘书丶
成都信息工程大学 C++
用sort(begin,end,compare),排序两次。第一次按照战斗力排序,第二次按照编号排序。
点赞
回复
分享
发布于 2017-09-03 09:54
sty0223
中国科学技术大学 C++
话说你sort的写法编译能通过?我也这么写的编译就过不去,只好手撸个冒泡排序。。。
点赞
回复
分享
发布于 2017-09-03 09:49
恭喜您顺利入职
家里蹲 Java
妹子刷题量惊人啊
点赞
回复
分享
发布于 2017-09-02 19:08
相不相信玄学呢
杭州电子科技大学 Java
你是没按要求输出,题目要求按给的熊的顺序而不是排序后的熊的顺序
点赞
回复
分享
发布于 2017-09-02 19:02
寻影657
西南交通大学 Java
用例中提供的数据是排序了的
点赞
回复
分享
发布于 2017-09-02 18:45
ker
西北工业大学 C++
要按照原来输入小熊的顺序 输出相应的饥饿值
点赞
回复
分享
发布于 2017-09-02 18:21
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
海强
电子科技大学 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
暂无评论,快来抢首评~
相关推荐
02-14 18:15
已编辑
北京邮电大学 Java
总结一下遇到的面试题-网络篇(自用)
TCP篇 1. TCP为什么是可靠的?从基础概念出发,TCP是面向连接的基于字节流的通信协议,从连接管理的角度来说:TCP通过三次握手建立连接,确保通信双方有正常收发能力;通过四次挥手释放连接,确保所有数据被正确接收并妥善处理。这里的可靠指的是报文的可靠传输,换一句话说就是如何保证报文不重不丢:TCP是基于字节流的,每一个字节都有唯一的序列号,这解决了报文重复的问题;接收端接收数据后会回复ACK确认号,这解决了丢包的问题;为了确保数据能够到达,在没有收到ACK的一定时间内,会触发发送方超时重传;另一方面,由接收方主导的流量控制能够避免接收方太多数据处理不过来。这里要注意流量控制和拥塞控制的区别...
点赞
评论
收藏
分享
02-12 15:55
已编辑
黑龙江大学 Java
agent实习都干什么?工作中该怎么思考(一)
继前文agent实习都干什么?深入了解项目构成(一)继前文对项目改造进行讨论后,本文将主要聚焦于实习日常的工作及在工作中的一些思考。项目初期 作为一个实习生,通常会按能力进行项目职责的分配,当时由于前期表现较好,所以分配的项目会较为核心一点。 项目初期流程通常分为如下几步: 接到需求 -> 分析需求,任务调研,确定方法架构,mvp构建 ->项目开发 -> 初版sit+uat 与练手项目不同的是,企业项目通常不会在初版就尽善尽美,所有的功能都是按版本进行逐步迭代,稳定性的重要性要远远大于复杂性。所以大家在构建项目时,思路可以放在如何尽快产出mvp,如何确保项目稳定性,高可用性以...
AI求职实录
点赞
评论
收藏
分享
02-13 20:41
浙江大学 算法工程师
华为OD是外包吗、和正编有什么区别、福利待遇、笔试面试谈薪技巧、是否毁简历
什么是华为OD华为OD员工并非华为公司员工,是华为与外企德科等第三方公司合作的高级研发用工模式。员工与德科公司签约后,以“派遣”身份进入华为,从事核心研发工作,享受与正式员工相匹配的薪酬和基础福利,并有明确的制度性转正机会,每年都有OD员工转为正式员工。注意:华为OD作为公司重要的人才储备机制,其入职考核(尤其信息安全部分)以严格著称。试用期转正虽通过率较高,但核心在于评估个人对“狼性文化”的适应度与业务达标能力。入职背景调查务必如实完成。公司出于高招聘与培训成本,不会轻易裁员,但对OD的绩效考评标准与内部员工完全一致,旨在筛选优秀人才转正。因此,员工需保持危机感,持续提升以脱颖而出外企德科公...
华为求职进展汇总
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
谁懂啊家人们!我就是一个状态机,在一次又一次焦虑中流转~
65
2
...
经过一年的发展,agent框架现在是什么样子
46
3
...
来查看你的新年运势!
44
4
...
牛友的春节生活
42
5
...
暑假实习求助
37
6
...
回顾我的25年
36
7
...
被自己蠢到了
32
8
...
影石-嵌入式软件开发-一面
26
9
...
大一现在应该做什么
24
10
...
C++ 多线程与并发面试题
20
创作者周榜
更多
正在热议
更多
#
牛客新年AI问运
#
6040次浏览
92人参与
#
工作中的卑微时刻
#
33384次浏览
199人参与
#
牛客AI体验站
#
16180次浏览
285人参与
#
多益网络工作体验
#
63114次浏览
306人参与
#
有必要和同事成为好朋友吗?
#
916次浏览
17人参与
#
正在实习的碎碎念
#
1644696次浏览
13716人参与
#
面试中的破防瞬间
#
1190029次浏览
11026人参与
#
工作一周年分享
#
52292次浏览
274人参与
#
滴!实习打卡
#
786401次浏览
6841人参与
#
秋招吐槽大会
#
304194次浏览
1523人参与
#
机械人的薪资开到多少,才适合去?
#
164985次浏览
571人参与
#
你最满意的offer薪资是哪家公司?
#
71336次浏览
353人参与
#
大学最后一个寒假,我想……
#
89231次浏览
809人参与
#
哪些公司真双非友好?
#
62820次浏览
268人参与
#
OC/开奖
#
411189次浏览
2282人参与
#
如果可以选,你最想从事什么工作
#
721810次浏览
4870人参与
#
如何提高实习转正率?
#
86465次浏览
504人参与
#
重来一次,你会对开始求职的自己说
#
32764次浏览
388人参与
#
如何确定求职岗位
#
723456次浏览
6427人参与
#
面试线索爆料
#
108623次浏览
641人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务