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 }
  • 相关阅读:
    python计算机基础
    计算机基础知识
    ftok函数
    可重入函数与不可重入函数
    Redis学习资料整理
    小记6月18
    libxml2简单的生成、解析操作
    切换日志是否更新检查点?
    第五课 数据备份恢复实验
    第四课 Grid Control实验 GC Agent安装(第一台机器部署) 及卸载
  • 原文地址:https://www.cnblogs.com/acgoto/p/8486661.html
Copyright © 2011-2022 走看看