调制牛奶
因为题目中只有六个变量,我也只定义六个变量,分别表示三个桶的容积以及三个桶内实际的牛奶量。因为他要求倒100次,所以我将其循环99次,在最后再走一步流程就是倾倒一百次。如果第一个桶内倒到第二个桶没满或者刚好满,那么第一个桶的牛奶量变为0,第二个桶的牛奶为两者相加。如果第二个桶满了。那么第一桶内的牛奶就是原来的减去倒出的,第二桶内则直接与容积相等。如此重复操作一百次即可获得答案。
#include<iostream>
using namespace std;
int main(){
int c1,m1,c2,m2,c3,m3;
cin>>c1>>m1>>c2>>m2>>c3>>m3;
for(int a=0;a<33;a++){
if(c2>=m1+m2){
m2=m1+m2;
m1=0;
}
if(c2<m1+m2){
m1=m1-(c2-m2);
m2=c2;
}
if(c3>=m2+m3){
m3=m2+m3;
m2=0;
}
if(c3<m2+m3){
m2=m2-(c3-m3);
m3=c3;
}
if(c1>=m1+m3){
m1=m1+m3;
m3=0;
}
if(c1<m1+m3){
m3=m3-(c1-m1);
m1=c1;
}
}
if(c2>=m1+m2){
m2=m1+m2;
m1=0;
}
if(c2<m1+m2){
m1=m1-(c2-m2);
m2=c2;
}
cout<<m1<<endl;
cout<<m2<<endl;
cout<<m3<<endl;
return 0;
}
查看15道真题和解析