zoukankan      html  css  js  c++  java
  • 题解报告:hdu 1570 A C

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1570

    Problem Description

    Are you excited when you see the title "AC" ? If the answer is YES , AC it ;
    You must learn these two combination formulas in the school . If you have forgotten it , see the picture.



    Now I will give you n and m , and your task is to calculate the answer .

    Input

    In the first line , there is a integer T indicates the number of test cases.
    Then T cases follows in the T lines.
    Each case contains a character 'A' or 'C', two integers represent n and m. (1<=n,m<=10)

    Output

    For each case , if the character is 'A' , calculate A(m,n),and if the character is 'C' , calculate C(m,n).
    And print the answer in a single line.

    Sample Input

    2
    A 10 10
    C 4 2

    Sample Output

    3628800
    6

    解题思路:组合和全排列!(水题~)

    AC代码:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int main()
     4 {
     5     int T,n,m,sum;
     6     char ch;
     7     cin>>T;
     8     while(T--){
     9         getchar();//吃掉回车符
    10         cin>>ch>>n>>m;
    11         if(m>n)swap(n,m);//保证m比n小
    12         sum=1;//计数
    13         if(ch=='A')for(int i=m;i>=1;i--)sum*=(n-i+1);//全排列
    14         if(ch=='C'){//组合
    15             if(n-m<m)m=n-m;//取m最小,减少计算
    16             for(int i=1;i<=m;i++)sum=sum*(n-i+1)/i;
    17         }
    18         cout<<sum<<endl;
    19     }
    20     return 0;
    21 }
  • 相关阅读:
    DIV 设置垂直居中
    JavaScript--什么是函数
    JavaScript--引用JS外部文件
    JavaScript--如何插入JS
    CSS-类和ID选择器的区别
    CSS-ID选择器
    CSS类选择器
    CSS样式介绍
    HTML--使用mailto在网页中链接Email地址
    HTML--form表单中的label标签
  • 原文地址:https://www.cnblogs.com/acgoto/p/8486661.html
Copyright © 2011-2022 走看看