2016 Y GDUT新生杯决赛 Problem G: 神偷TMK后续

来源:互联网 发布:微信刷砍价软件 编辑:程序博客网 时间:2024/04/27 22:34

Problem G: 神偷TMK后续

Description

TMK十分喜欢打CS,据说GDUTACM新生杯的一等奖的奖品的星际CS的真人CS游戏团体券,他毅然报了名。 然而TMK等不及决赛的来临,希望能早日可以玩真人CS。于是TMK打算把真人CS游戏团体券从师兄那里偷出来。 几听打探,TMK发现真人CS游戏团体券锁在了工一730的保险箱里面。但是他不知道密码。他突然想起了yfq给了他一个锦囊,当有困难的时候打开来看。 锦囊里面的纸条上有一串小写字母"abhcujzqacehbfjkbacxmcnjkaecfiallcxcbbcad",TMK灵机一动,密码应该是这串字母出现最多的字母和第二多的字母按字典序连接在一起吧。于是TMK在密码箱上按下了那两个字母,保险箱开了。 TMK发现里面有n张星际CS的真人CS游戏团体券,但tmk只想拿k张,因为tmk觉得拿太多就会没时间学习了。 现在问TMK一共有多少种取法

Input

题目包含多组数据,每组测试数据包含一行,两个数n和k(1<=n<=10,0<=k<=n)

Output

每组测试数据包含一个整数表示TMK的取法

Sample Input

3 2

3 0

Sample Output

3

1

分析解答:虽然题面有点长,但是这丝毫不影响这是一道水题。

高中的姿势,排列组合,n张里面取k张,直接上组合公式  n*(n-1)…*(n-k)/k*(k*1)…*1。over

上代码:

#include<iostream>#include<algorithm>#include<string>#include<cmath>using namespace std;typedef long long LL;int main(){    ios::sync_with_stdio(false);    int T;int n,k;    while(cin>>n>>k)    {        LL sum=0;        LL shang=1;        LL xia=1;        for(int i=0;i<k;++i)        {            shang*=n;            --n;        }        for(int i=k;i>0;--i)        {            xia*=i;        }        sum=shang/xia;        cout<<sum<<endl;    }    return 0;}


0 0
原创粉丝点击