2014省赛---李白打酒(填空)

    科技2023-12-16  97

    public class TestOne { private static int n=0;//合理的次序总数 /*题目:有酒2斗,遇店加1倍,遇花喝一斗 * 共遇店5次,遇花10次,最后一次遇到的是花,正好喝完 *思路:深度搜索 * */ public static void main(String[] args) { dfs(5,9,2); //排除最后一次遇花,共遇店5次,遇花9次,初始有2斗酒 System.out.println("共有"+n+"个合理的次序"); } /*dian:当前未遇店的次数 *hua:当前未遇花的次数(排除最后一次遇花) *jiu:当前的剩余的酒(最后还剩1斗) * */ private static void dfs(int dian, int hua, int jiu) { if(dian==0 && hua==0 && jiu==1) {//以遇完所有的店和花,并且还有1斗酒 n++; return; } if(dian>0) {//遇店 dfs(dian-1,hua,jiu*2); } if(hua>0) {//遇花 dfs(dian,hua-1,jiu-1); } } }

     

    Processed: 0.016, SQL: 8