[Java] 蓝桥杯ALGO-120 算法训练 学做菜
2019-01-15 15:16
190 查看
[Java] 蓝桥杯ALGO-120 算法训练 学做菜
问题描述
涛涛立志要做新好青年,他最近在学做菜。由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜,我们给这四种原料标上字母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
package suanfaxunlian; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class ALGO120 { public static void main(String[] args) throws NumberFormatException, IOException { // TODO 自动生成的方法存根 BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); int a = Integer.parseInt(bf.readLine().trim()); int b = Integer.parseInt(bf.readLine().trim()); int c = Integer.parseInt(bf.readLine().trim()); int d = Integer.parseInt(bf.readLine().trim()); int arr[] = new int[5]; arr = cai(a, b, c, d, arr); for (int i : arr) { System.out.print(i + "\n"); } } private static int[] cai(int a, int b, int c, int d, int[] arr) { if (a >= 2 & b >= 1 & d >= 2) { a -= 2; b -= 1; d -= 2; arr[0] += 1; return cai(a, b, c, d, arr);// 第一道菜 } if (a >= 1 && b >= 1 && c >= 1 && d >= 1) { a -= 1; b -= 1; c -= 1; d -= 1; arr[1] += 1; return cai(a, b, c, d, arr);// 第二道菜 } if (c >= 2 && d >= 1) { c -= 2; d -= 1; arr[2] += 1; return cai(a, b, c, d, arr);// 第三道菜 } if (b >= 3) { b -= 3; arr[3] += 1; return cai(a, b, c, d, arr);// 第四道菜 } if (a >= 1 && d >= 1) { a -= 1; d -= 1; arr[4] += 1; return cai(a, b, c, d, arr);// 第五道菜 } return arr;// 材料不足 } }
相关文章推荐
- 蓝桥杯 ALGO-120 算法训练 学做菜
- 蓝桥杯 ALGO-83 算法训练 阶乘 java版
- 蓝桥杯算法训练 ALGO-1 区间k大数查询 Java
- 蓝桥杯 ALGO-148 算法训练 5-1最小公倍数 java版
- 蓝桥杯 ALGO-150 算法训练 6-1 递归求二项式系数值 java版
- 蓝桥杯 ALGO-27 算法训练 FBI树 Java版
- [Java] 蓝桥杯 算法训练 ALGO-79 删除数组零元素
- 蓝桥杯 ALGO-21算法训练 装箱问题 java版
- 蓝桥杯-算法训练-ALGO-87 字串统计 Java实现
- 蓝桥杯 ALGO-48 算法训练 关联矩阵 (java)
- 蓝桥杯 ALGO-103 算法训练 完数
- 蓝桥杯 算法训练 ALGO-124 数字三角形
- 蓝桥杯 算法训练 未名湖边的烦恼 (Java解题)
- 蓝桥杯 ALGO-53 算法训练 最小乘积(基本型)
- 蓝桥杯 算法训练 ALGO-150 6-1 递归求二项式系数值
- 蓝桥杯 - 算法训练 - Torry的困惑(基本型) - Java
- 蓝桥杯 算法训练 区间k大数查询 JAVA
- 蓝桥杯 算法训练01 Java实现
- 蓝桥杯 - 算法训练 - ALGO - 3 K好数
- 蓝桥杯练习系统(算法训练)-ALGO-2 最大最小公倍数