NC200469. ACM协会晚会
描述
输入描述
数据的第一行是一个正整数T,接下来有T组数据,每组数据占一行。
每组数据包含两个整数N(来报名的人数,1<=N<=30),M(节目需要的人数0<=M<=30)。
输出描述
每组数据输出一个整数,每个输出占一行。
示例1
输入:
5 3 2 5 3 4 4 3 6 8 0
输出:
3 10 1 0 1
C++14(g++5.4) 解法, 执行用时: 3ms, 内存消耗: 368K, 提交时间: 2019-12-24 20:30:44
#include<stdio.h> #include<math.h> int main() { int t; scanf("%d",&t); int n,m,i,j; long long c; for(j=0; j<t; j++) { scanf("%d %d",&n,&m); for(i=1,c=1; i<=m; i++) { c=c*(n+1-i)/i; } printf("%d\n",c); } return 0; }
C++11(clang++ 3.9) 解法, 执行用时: 4ms, 内存消耗: 376K, 提交时间: 2019-12-21 14:45:27
#include<iostream> using namespace std; int main() { int t; scanf("%d",&t); for(int m,n;t--;cout<<endl) { cin>>m>>n; long long s=1; for(int i=1;i<=n;i++)s*=m-i+1,s/=i; cout<<s; } }
Python3 解法, 执行用时: 42ms, 内存消耗: 5080K, 提交时间: 2022-12-10 19:39:45
zs = int(input()) import math for i in range(zs): n,m = map(int,input().split()) if n>=m: print(math.comb(n,m)) else: print(0)