admin 管理员组文章数量: 1087652
蓝桥杯 试题 算法训练 学做菜 Java
##蓝桥杯 试题 算法训练 学做菜 Java
问题描述
涛涛立志要做新好青年,他最近在学做菜。由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜,我们给这四种原料标上字母A,B,C,D。
涛涛现在会做的菜有五种:
1、 西红柿炒鸡蛋 原料:AABDD
2、 酸辣鸡丁 原料:ABCD
3、 宫保鸡丁 原料:CCD
4、 水煮西红柿 原料:BBB
5、 怪味蛋 原料:AD
这天早上,开开去早市给涛涛买了一些原料回来。由于事先没有什么计划,涛涛决定,对于现存的原料,每次尽量做菜单上靠前(即编号小)的菜。
现在请你写一个程序,判断一下开开和涛涛中午能吃到哪些菜。
输入格式
共4个整数a,b,c,d。分别表示开开买的A,B,C,D这4种原料的数量。每种原料不会超过30份。
输出格式
输出5行。其中第i行表示涛涛做的第i种菜的数目。
样例输入
3
1
2
4
样例输出
1
0
1
0
import java.util.Scanner;public class 学做菜 {static int result[] = new int[5];//存储结果public static void main(String[] args) {Scanner sc = new Scanner(System.in);int food[][] = {{2,1,0,2},{1,1,1,1},{0,0,2,1},{0,3,0,0},{1,0,0,1}};//创建菜品信息int arr[] = new int[4];//原材料的数量for (int i = 0; i < arr.length; i++) {arr[i] = sc.nextInt();}for (int i = 0; i < food.length; i++) {//循环每一种菜品int min=100;for (int j = 0; j < food[i].length; j++) {//找出当前菜品最多能做多少组int n=arr[j];if (food[i][j]!=0) {n=arr[j]/food[i][j];if (min>n) {min=n;} }}System.out.println(min);if (min>0) {result[i]+=min;//多余的,用来存储结果for (int j = 0; j < arr.length; j++) {//从原材料的数量中依次减去当前菜品所需的材料*min值(即为当前剩余材料可以做多少道菜)arr[j]-=food[i][j]*min;}}}}// static boolean resivefood(int arr[]) {//这种做法超时
// if (arr[0] >= 2 && arr[1] >= 1 && arr[3] >= 2) {
// arr[0] -= 2;
// arr[1] -= 1;
// arr[3] -= 2;
// result[0]++;
// return true;
// } else if (arr[0] >= 1 && arr[1] >= 1 && arr[2] >= 1 && arr[3] >= 1) {
// arr[0] -= 1;
// arr[1] -= 1;
// arr[3] -= 1;
// result[1]++;
// return true;
// } else if (arr[2] >= 2 && arr[3] >= 1) {
// arr[2] -= 2;
// arr[3] -= 1;
// result[2]++;
// return true;
// } else if (arr[1] >= 3) {
// arr[3] -= 3;
// result[3]++;
// return true;
// } else if (arr[0] >= 1 && arr[3] >= 1) {
// arr[0] -= 1;
// arr[3] -= 1;
// result[4]++;
// return true;
// } else
// return false;
// }}
本文标签: 蓝桥杯 试题 算法训练 学做菜 Java
版权声明:本文标题:蓝桥杯 试题 算法训练 学做菜 Java 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1700323254a396684.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论