关注
把阿里内推时做的那题做了一便,该写的坑还是得填。。 // 自己的写的,不一定对,但是能过给的样例。 // 主要思路就是 深度搜索,终止条件就是 不能再加组合时,和best对比。 #include <iostream> #include <string> #include <sstream> using namespace std; int bom[9][10]; int product[10]; int cnt[10]; int res_count[10]; int res_sum = 0; int zero_count = 0; int n,m; char c ; void isbest(){ int tmp_count = 0; int sum = 0; for(int i =0; i <m;i++){ if(product[i] == 0){ tmp_count ++; } sum += product[i]; } if(tmp_count>zero_count ||(tmp_count == zero_count&&sum< res_sum)){ zero_count = tmp_count; for(int i =0; i < m;i++){ res_count[i] = cnt[i]; } res_sum = sum; } } // m 为组合数量 void dfs(int m){ for(int i =0; i < m;i++){ if(product[i] <0) return; } isbest(); for(int i = 0; i < m;i++){ cnt[i]++; // 使用组合i for(int j = 0;j < m;j++){ product[j] -= bom[i][j]; } dfs(m); // 回滚组合i for(int j = 0;j < m;j++){ product[j] += bom[i][j]; } cnt[i]--; } } int main(){ // m 为组合数, n为商品数目 cin >>n>>c>>m; // 读取商品数量 for(int i = 0 ; i < n;i++){ if(i <n-1){ cin >> product[i]; cin >> c; }else if(i == n-1) { cin >> product[i]; } } cin.ignore(); //读取组合 string s; stringstream str; for(int i = 0; i < m;i++){ getline(cin,s,'\n'); int pos = s.find(","); int start = 0; int n_copy = 0; while(n_copy<n+1){ if(n_copy >0&n_copy < n){ str << s.substr(start,pos-start) <<endl; str>>bom[i][n_copy-1]; str.str(""); }else if(n_copy == n){ str << s.substr(start,s.size()-start)<<endl; str>>bom[i][n_copy-1]; str.str(""); } start = pos+1; pos = s.find(",",start); n_copy++; } } dfs(m); for(int i =0; i<m;i++) { if(res_count[i] != 0) cout << "bom" <<i+1 <<"*"<< res_count[i]<<endl; } return 0; }
查看原帖
点赞 评论
相关推荐


腾讯
| 校招
| 超多精选岗位
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 脱下孔乙己长衫,浅聊一下就业下沉!3.7W
- 2... 美团java后端日常实习一二面1.6W
- 3... 腾讯后台开发-Hr部门(面试官特别不尊重人)1.2W
- 4... 腾讯/字节/快手 前端面经汇总8264
- 5... 【有奖互动】你问过DeepSeek什么意想不到的问题?7704
- 6... 腾讯PCG QQ后台开发一面7475
- 7... 实习入职第一天,应该做点啥❓6323
- 8... 大胆解读下任老的发言:我们大学生有哪些可以关注的❓4687
- 9... 腾讯实习基地-ieg-Level Infinite-一面4324
- 10... 双非努力了真的有用嘛3913
正在热议
更多
# 听劝,这个简历怎么改 #
14146次浏览 183人参与
# 面试被问“你的缺点是什么?”怎么答 #
6651次浏览 100人参与
# 水滴春招 #
16767次浏览 378人参与
# 入职第四天,心情怎么样 #
11391次浏览 63人参与
# 租房找室友 #
8073次浏览 53人参与
# 参加完秋招的机械人,还参加春招吗? #
27054次浏览 276人参与
# 读研or工作,哪个性价比更高? #
26209次浏览 356人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
20534次浏览 414人参与
# 职场新人生存指南 #
199367次浏览 5519人参与
# 文科生还参加今年的春招吗 #
4134次浏览 31人参与
# 简历无回复,你会继续海投还是优化再投? #
48662次浏览 561人参与
# 如果重来一次你还会读研吗 #
155743次浏览 1706人参与
# 你见过最离谱的招聘要求是什么? #
144755次浏览 829人参与
# 机械人选offer,最看重什么? #
69082次浏览 449人参与
# 选择和努力,哪个更重要? #
44352次浏览 495人参与
# 你们的毕业论文什么进度了 #
901441次浏览 8961人参与
# 如果再来一次,你还会学硬件吗 #
103663次浏览 1246人参与
# 牛友们的论文几号送审 #
16036次浏览 504人参与
# 招聘要求与实际实习内容不符怎么办 #
46863次浏览 495人参与
# 22届毕业,是读研还是拿外包offer先苟着 #
4656次浏览 27人参与
# 秋招感动瞬间 #
11953次浏览 105人参与