2 条题解
-
1
签到题看错模数。。。 1e8+7 什么鬼
#include <stdio.h> #include <iostream> typedef long long ll; using namespace std; const ll Mod = 1e8+7; ll n, m, i, j, k; ll qp(ll a, ll b) { ll res = 1; while(b) { if(b & 1) res = res*a % Mod; a = a*a % Mod; b >>= 1; } return res; } ll inv(ll x) { return qp(x, Mod-2); } ll C(ll n, ll m) { ll ans = 1, div = 1; for(i = n-m+1; i <= n; ++i) ans = ans*i % Mod; for(i = 2; i <= m; ++i) div = div*i % Mod; return ans*inv(div) % Mod; } int main() { cin >> n >> m; m = min(m, n-m); cout << C(n, m); return 0; }
-
0
「10年OI一场空,看错模数见祖宗」
然后就是求C(n,m),没别的了
#include<iostream> using namespace std; #define ll long long const ll M = 1e8 + 7; ll qpow(ll a, ll b){ ll ans = 1, base = a; while (b){ if (b&1) ans = ans * base % M; base = base * base % M; b >>= 1; } return ans; } int main(){ ll n, m, c=1; cin >> n >> m; for (int i = 1;i <= m;++i){ c = c * (n+1-i) % M; c = c * qpow(i, M-2) % M; } cout << c; }
- 1
信息
- ID
- 1884
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- (无)
- 递交数
- 522
- 已通过
- 33
- 上传者