• java算法 第七届 蓝桥杯B组(题+答案) 5.抽签


    5.抽签  (代码填空)

    X星球要派出一个5人组成的观察团前往W星。
    其中:
    A国最多可以派出4人。
    B国最多可以派出2人。
    C国最多可以派出2人。
    ....

    那么最终派往W星的观察团会有多少种国别的不同组合呢?


    下面的程序解决了这个问题。
    数组a[] 中既是每个国家可以派出的最多的名额。
    程序执行结果为:
    DEFFF
    CEFFF
    CDFFF
    CDEFF
    CCFFF
    CCEFF
    CCDFF
    CCDEF
    BEFFF
    BDFFF
    BDEFF
    BCFFF
    BCEFF
    BCDFF
    BCDEF
    ....
    (以下省略,总共101行)

     1 public class _5抽签 {
     2    public static void main(String[] args) {
     3         int[] a = {4,2,2,1,1,3};  
     4         f(a,0,5,"");  
     5    }
     6    public static void f(int[] a, int k, int n, String s)  
     7    {  
     8        if(k==a.length){   
     9            if(n==0) System.out.println(s);  
    10            return;  
    11        }  
    12        String s2 = s;  
    13        for(int i=0; i<=a[k]; i++){  
    14            //此处应填 f(a, k+1, 5-s2.length(), s2)  
    15            f(a, k+1, 5-s2.length(), s2);   //填空位置  
    16            s2 += (char)(k+'A');  
    17        }  
    18    }  
    19 }
  • 相关阅读:
    POJ题目分类
    最短路&记录记录记录路径
    博弈论
    生成树模板总结
    弱鸡的暑假图论安排
    面试随缘做题--day2
    面试随缘做题---day1
    PAT第四章速刷
    PAT第二章知识点快速复习
    sql语句快速复习
  • 原文地址:https://www.cnblogs.com/zhangxue521/p/6538529.html
Copyright © 2020-2023  润新知