admin 管理员组文章数量: 1087649
蓝桥杯算法训练VIP
题目
题目链接
题解
实现题。
比较简单的。
算是一个告诉你贪心思路的贪心题吧。
尽可能的做编号小的菜,每个菜受限于每一种食材,用拥有的每一种食材的数量除以菜品所需的此食材的数量,就是这个菜品如果只受限于此食材最多能做多少道,但是由于菜品受限于四种食材,因此取四种食材中商最小的就是这个菜品最多做的道数。
算出来第一道菜的道数,用拥有的减去做第一道菜消耗的,再去重复上面的步骤计算第二道菜的道数,以此类推。
注意分母为零的情况,即某个菜品不需要某种食材时分母会为0。
每个菜品对于每一种食材的需求量的保存方式有点类似于蓝桥杯中的那种开关灯的题。
代码
#include<bits/stdc++.h>
using namespace std;int menu[5][4] = {{2, 1, 0, 2},{1, 1, 1, 1},{0, 0, 2, 1},{0, 3, 0, 0},{1, 0, 0, 1}};
int a[4];int main()
{for(int i = 0;i < 4;i ++) cin>>a[i];for(int i = 0;i < 5;i ++) {int num = 100;for(int j = 0;j < 4;j ++) if(menu[i][j]) num = min(num, a[j]/menu[i][j]);for(int j = 0;j < 4;j ++) a[j] -= num*menu[i][j];cout << num << endl;}return 0;
}
本文标签: 蓝桥杯算法训练VIP
版权声明:本文标题:蓝桥杯算法训练VIP 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1700323457a396775.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论