题目描述
好消息,柠檬水终于制作好了!一开始柠檬水在红色水杯A里,然后尽量倒入绿色水杯B和青蓝色水杯C中。3水杯的粗细都是一样的(直径都是50),只是高度分别是a、b、c。一开始A水杯是满的,B和C水杯是空的,小C把水杯尽可能的先倒入B;如果B满了后A水杯还有水,就再尽量倒入C水杯。
小C请你用GoC画几个矩形来表示倒水后的每个水杯的高度。例如a=200,b=80,c=100时:
一开始水杯的情况:
倒水后:
输入格式
第一行,3个整数a,b,c。 范围[10, 200]。
输出格式
画出3个水杯,颜色分别是1号、3号、4号,高度分别是a,b,c;用实心的部分表示水的高度;水杯之间距离是10。
参考答案
int main(){
pen.up().speed(10);
int a,b,c;
cin>>a>>b>>c;
//先画出杯子的形状
pen.fd(a/2.0).r(50,a,1).bk(a/2.0).rt(90).fd(60).lt(90);
pen.fd(b/2.0).r(50,b,3).bk(b/2.0).rt(90).fd(60).lt(90);
pen.fd(c/2.0).r(50,c,4).bk(c/2.0).rt(90).fd(60).lt(90);
//倒水过程
if(a-b>=0)a=a-b;
else b=a,a=0;
if(a-c>=0)a=a-c;
else c=a,a=0;
//把倒水后的图像画出
pen.moveTo(0,0);
pen.fd(a/2.0).rr(50,a,1).bk(a/2.0).rt(90).fd(60).lt(90);
pen.fd(b/2.0).rr(50,b,3).bk(b/2.0).rt(90).fd(60).lt(90);
pen.fd(c/2.0).rr(50,c,4).bk(c/2.0).rt(90).fd(60).lt(90);
return 0;
}