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 }
  • 相关阅读:
    CSS 兼容 总结
    IF IE
    取消chrome浏览器下input和textarea的默认样式
    左右浮动边距为0,中间间隔一定
    标题右边10px位置紧跟发布时间
    两款CSS3样式可视化在线生成工具
    文字截取,多余文字用省略号(...)代替
    O
    N
    M
  • 原文地址:https://www.cnblogs.com/acgoto/p/8486661.html
Copyright © 2011-2022 走看看