泊松分酒

分析:过程是先记录初始状态酒的容量,然后利用递归实现倒酒的过程,最后只要有一个容器中的容量满足则退出。

    倒酒的规则是:1----->2,2------->3,3------->1;

import java.util.*; public class 泊松分酒 {  static int x,y,z,a,b,c,max;  public static void main(String[] args) {   // TODO Auto-generated method stub      Scanner reader=new Scanner(System.in);      int max;      String s=reader.nextLine();      String[] ss=s.split(",");      x=Integer.valueOf(ss[0]);      y=Integer.valueOf(ss[1]);      z=Integer.valueOf(ss[2]);      a=Integer.valueOf(ss[3]);      b=Integer.valueOf(ss[4]);      c=Integer.valueOf(ss[5]);      max=Integer.valueOf(ss[6]);      //System.out.println(max);      f(a,b,c,max);  }  public static void  f(int a,int b,int c,int max){   System.out.println(a+","+b+","+c);   if(a==max||b==max||c==max)   { System.out.println(max);    return;   }   if(b==0){//b为空    if(a>y)        f(a-y,y,c,max);    else        f(0,a,c,max);   }   else    if(c==0||b==y){//b为满或者c为空     if(b>z-c)        f(a,b-z+c,z,max);     else      f(a,0,c+b,max);    }   else   if(c==z){//c为满    if(a+c>x)     f(x,b,c-x+a,max);    else     f(a+c,b,0,max);   }   else   if(c==0||b==y){    if(b>z-c)       f(a,b-z+c,z,max);    else     f(a,0,c+b,max);   }     }

}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值