密室分组 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 256MB,其他语言 512MB 难度:简单 出题人:
描述
小J带着他的小伙伴们勇闯密室。在其中一个关卡里,小J一行人需要分成若干组同时去执行不同的支线任务,完成以后才能继续游戏。我们只将完成各个支线人数不同看作不同的方案,即如果小J和小K完成任务1,小W完成任务2和小J和小W完成任务1,小K完成任务2看作一种方案,因为完成任务1的人数都是2,完成任务2的人数都是1。而小W完成任务1,小J和小K完成任务2为不同方案,因为这个时候完成任务1的人数是1,完成任务2的人数是2。 现在想请问你又多少种分组方案?
输入描述
两个整数m和k,分别表示小J一行人的人数和任务数
输出描述
一个整数表示分组方案数
用例输入 1
4 2 用例输出 1
3 提示
数据范围 1<=k<=m<=20 原创
WA 0
#include <bits/stdc++.h>
using namespace std;
int jie(int num) {
int result = 1;
for (int i = 1; i <= num; i++) {
result *= i;
}
return result;
}
int main() {
int n, m;
cin>>n>>m;
long long a=1;
for(int i=n;i>=n-m+1;i--) a*=i;
//cout<<"a:"<<a<<endl;
long long b=jie(m);
//cout<<"b:"<<b<<endl;
cout<<a/b;
return 0;
}