蓝桥杯 抽签

package zhenTi_2016B;


public class Test5
{
//a数组代表第i个国家可以派出的最多人数
//变量k 指代国家索引
//变量n 指代当前还需要选几个人
public static void f(int[] a, int k, int n, String s)//从第k个国家开始选,总共要选择n个人
{
if(k==a.length){  //完成最后一个国家的选人后,如果正好已经选了n个人则输出这种情况
if(n==0) 
System.out.println(s);
return;
}

String s2 = s;
for(int i=0; i<=a[k]; i++){
//假定在当前国家k选了i个人,再从第k+1国家开始选,此时总共还需要选择n-i个人
f(a, k + 1, n - i, s2);   
s2 += (char)(k+'A'); //每在k国家选一个人就要将此人加到目标字符串中去
}
}

public static void main(String[] args)
{
int[] a = {4,2,2,1,1,3};

f(a,0,5,"");
}
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值