SDNU 1245.这题超难的,建议先做其他的,看都不要看(思维)

mac2022-06-30  30

Description

求组合数C(n,m)

Input

T(0 < T < 2000) 每组样例两个数n, m(0 < n, m< 60)  

Output

C(n,m)

Sample Input

2 1 1 2 1

Sample Output

1 2

Source

Unknown 思路:真是一道神奇的题啊,我想着用常规的办法去求解,但是爆了long long也不自知,真是傻。然后用了优化。 #include <cstdio> #include <iostream> #include <cmath> #include <string> #include <cstring> #include <algorithm> #include <queue> #include <vector> #include <map> using namespace std; #define ll long long int t, n, m; ll sum1; int main() { scanf("%d", &t); while(t--) { sum1 = 1; scanf("%d%d", &n, &m); for(int i = 1; i <= m; i++) { sum1 *= (n-i+1); sum1 /= i; } printf("%lld\n", sum1); } return 0; }

 

转载于:https://www.cnblogs.com/RootVount/p/10991748.html

最新回复(0)