ALGO-120 演算法訓練 學做菜 (c/c++)
阿新 • • 發佈:2018-12-27
演算法訓練 學做菜
時間限制:1.0s 記憶體限制:256.0MB
問題描述
濤濤立志要做新好青年,他最近在學做菜。由於技術還很生疏,他只會用雞蛋,西紅柿,雞丁,辣醬這四種原料來做菜,我們給這四種原料標上字母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
1
注:現將小的上完了,再進行後面的。最開始看成了挨著挨著來一遍。。。。。
#include <iostream> using namespace std; int main(int argc, char *argv[]) { int food[5][4]={{2,1,0,2},{1,1,1,1},{0,0,2,1},{0,3,0,0},{1,0,0,1}}; int in[4]; for(int i=0;i<4;i++) cin>>in[i]; int cnt=0,sum=0; while(cnt!=5){ int i; for(i=0;i<4;i++) if(in[i]-food[cnt][i]<0) break; if(i>=4){ for(int i=0;i<4;i++) in[i]-=food[cnt][i]; sum++; }else{ cout<<sum<<endl; sum=0; cnt++; } } return 0; }