题目地址:http://218.194.91.48/acmhome/problemdetail.do?&method=showdetail&id=1437
这题考的很简单,大整数+排列组合。
可以先用杨辉三角预处理出所有的情况。
import java.math.BigInteger;import java.util.Scanner;public class Main {static BigInteger[][] C = new BigInteger[320][14];static void init_(){int i,j;for(i=0;i<320;i++){C[i][0]=BigInteger.ONE;for(j=1;j<=i && j<14;j++){C[i][j]=C[i-1][j-1].add(C[i-1][j]);}if(j<14) C[i][j]=BigInteger.ZERO; }}public static void main(String args[]){int i,m,n,p;BigInteger res;init_();Scanner cin = new Scanner (System.in);while(cin.hasNextInt()){m=cin.nextInt();n=0;res=BigInteger.ONE;while(m--!=0){p=cin.nextInt();n+=p;res=res.multiply(C[n][p]);}System.out.println(res.toString());}}}