zoukankan      html  css  js  c++  java
  • HDU

    一个A和两个B一共可以组成三种字符串:"ABB","BAB","BBA". 
    给定若干字母和它们相应的个数,计算一共可以组成多少个不同的字符串. 

    Input每组测试数据分两行,第一行为n(1<=n<=26),表示不同字母的个数,第二行为n个数A1,A2,...,An(1<=Ai<=12),表示每种字母的个数.测试数据以n=0为结束. 
    Output对于每一组测试数据,输出一个m,表示一共有多少种字符串. 
    Sample Input

    2
    1 2
    3
    2 2 2
    0

    Sample Output

    3
    90
    代码:
    import java.math.BigDecimal;
    import java.math.BigInteger;
    import java.util.Scanner;
    
    public class Main
    {
           public static void main(String[] args) {
           Scanner sc=new Scanner(System.in);
           while(true)
           {
              int n;
              n=sc.nextInt();
              if(n==0)
              {
                  break;
              }
              int sum=0;
              BigInteger ans=new BigInteger("1");
              BigInteger ans1=new BigInteger("1");
        
              int x;
              for(int t=1;t<=n;t++)
              {
                 x=sc.nextInt();
                 sum+=x;
                 for(int j=1;j<=x;j++)
                 {
                     ans=ans.multiply(BigInteger.valueOf(j));
                 }
              }
              for(int t=1;t<=sum;t++)
              {
                  ans1=ans1.multiply(BigInteger.valueOf(t));
              }
              ans1=ans1.divide(ans);
              System.out.println(ans1);
            
           }
            sc.close();       
        }
    
    }
  • 相关阅读:
    搭建Keil C51开发环境
    源码分析之Handler
    Android中的算法
    Android中的数据结构
    高级UI-UI绘制流程
    高级UI-Path和PathMeasure
    高级UI-画板Canvas
    高级UI-滤镜和颜色通道
    高级UI-高级渲染
    高级UI-画笔Paint
  • 原文地址:https://www.cnblogs.com/Staceyacm/p/11254257.html
Copyright © 2011-2022 走看看