字串数 排练组合(阶乘) java秒

                           字串数

题目抽象:给定若干字母和它们相应的个数,计算一共可以组成多少个不同的字符串.

 1 import java.math.*;
 2 import java.util.*;
 3 import java.io.*;
 4 import java.text.*;
 5
 6 public class Main
 7 {
 8
 9     public static void main(String[] args)
10     {
11         Scanner cin=new Scanner(new BufferedInputStream(System.in));
12         while(cin.hasNext())
13         {
14             int n=cin.nextInt();
15             if(n==0)
16                 break;
17             int[]  a=new int[n];
18             int sum=0;
19             for(int i=0;i<n;i++)
20             {
21                 a[i]=cin.nextInt();
22                 sum+=a[i];
23             }
24             BigInteger ans=fact(sum);
25             for(int i=0;i<n;i++)
26                 ans=ans.divide(fact(a[i]) );
27             System.out.println(ans);
28         }
29         cin.close();
30     }
31     public static BigInteger fact(int n)
32     {
33         BigInteger res=BigInteger.ONE;
34         for(int i=2;i<=n;i++)
35             res=res.multiply(BigInteger.valueOf(i));
36         return res;
37     }
38 }
时间: 2024-12-25 22:26:20

字串数 排练组合(阶乘) java秒的相关文章

hdu 1261 字串数 排列组合

字串数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3505    Accepted Submission(s): 855 Problem Description 一个A和两个B一共可以组成三种字符串:"ABB","BAB","BBA". 给定若干字母和它们相应的个数,计算一共可以组

HDU 1261 字串数

字串数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3187    Accepted Submission(s): 757 Problem Description 一个A和两个B一共可以组成三种字符串:"ABB","BAB","BBA".给定若干字母和它们相应的个数,计算一共可以组成多

HDOJ 1261 字串数

JAVA大数.... 字串数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2893    Accepted Submission(s): 679 Problem Description 一个A和两个B一共可以组成三种字符串:"ABB","BAB","BBA". 给定若干字母和它们相应

Hdu 1261字串数

字串数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4683    Accepted Submission(s): 1234 Problem Description 一个A和两个B一共可以组成三种字符串:"ABB","BAB","BBA".给定若干字母和它们相应的个数,计算一共可以组成

Problem1261 字串数

字串数 http://acm.hdu.edu.cn/showproblem.php?pid=1261 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5281    Accepted Submission(s): 1398 Problem Description 一个A和两个B一共可以组成三种字符串:"ABB","BA

公共字串计算——String.regionMatches方法 &amp; Java标签

题目:输入两个字符串,计算两个字符串的最大公共字串的长度,并输出,字符不区分大小写 eg:输入abcde  xxxBcyyy,输出 2. 完整Java代码: import java.util.*; public class Main { public static void main(String arg[]){ Scanner s=new Scanner(System.in); String str1=s.next(); String str2=s.next(); s.close(); Str

ACM题目————字串数

Description 一个A和两个B一共可以组成三种字符串:"ABB","BAB","BBA". 给定若干字母和它们相应的个数,计算一共可以组成多少个不同的字符串. Input 每组测试数据分两行,第一行为n(1<=n<=26),表示不同字母的个数,第二行为n个数A1,A2,...,An(1<=Ai<=12),表示每种字母的个数.测试数据以n=0为结束. Output 对于每一组测试数据,输出一个m,表示一共有多少种字符

HDU - 1261-字串数 (排列组合+大数)

一个A和两个B一共可以组成三种字符串:"ABB","BAB","BBA". 给定若干字母和它们相应的个数,计算一共可以组成多少个不同的字符串. Input每组测试数据分两行,第一行为n(1<=n<=26),表示不同字母的个数,第二行为n个数A1,A2,...,An(1<=Ai<=12),表示每种字母的个数.测试数据以n=0为结束. Output对于每一组测试数据,输出一个m,表示一共有多少种字符串. Sample Inpu

组合数学 + 大数乘法 + 大数除法 之 hdu 1261 字串数

//  [3/17/2015 JmingS] /* 此题可直接推导出公式: {(A1+A2+……+An)!} / {A1!A2!……An!} 由于 (12×26)! = 312! 只能通过数组来存储,所以又涉及『大数乘法』和『大数除法』, 大数实现的主要思想模拟手算,具体参考程序. */ 1 #include <iostream> 2 #include <cstdlib> 3 #include <cstdio> 4 #include <cstring> 5