根本不想吃午餐
2025-11-21 19:17:56
发布于:广东
22阅读
0回复
0点赞
(虽然有时不想吃午餐,但题目说必须要)
上来一看,可能有没钱的时候,那我们可以先判断钱够不够。本人是直接设立了一个flag来计数,如果满了n,那便说明题目中的你是个穷光蛋,这顿只能吃西北风了。(也可以设一个bool函数判断 :))如果钱够,那便判断受欢迎度。选择排序,插入排序都行,将靠前的一个用swap换掉。最后把最受欢迎的一个(第一个)输出,break,解决。
这道题就考选择排序,插入排序(冒泡难一点),难度不高。 :)
全部评论 1
name:菜名;money:价格;h:受欢迎度
#include<bits/stdc++.h> using namespace std; struct food{ string name; int money,h; }a[105]; bool cmp(food a,food b){ return a.h>b.h; } int main(){ int n,m; cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i].name>>a[i].money>>a[i].h; } sort(a+1,a+n+1,cmp); if(a[1].money<=m){ cout<<a[1].name<<" "<<a[1].money<<" "<<a[1].h; }else{ cout<<"...>_<..."; } return 0; }求代码问题
1周前 来自 福建
0












有帮助,赞一个