用户输出
0
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#66902 | #1322. [L2-1]来吃糖果吧 | Accepted | 100 | 1022 ms | 360 K | C++ 11 / 929 B | 越杰(计算机)001-唐雨萧 | 2022-03-25 19:14:33 |
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
#define _MOD ((ll)1e9 + (ll)7)
ll pow_mod(ll a, ll e, ll p);
int main() {
int n, a, b;
cin >> n >> a >> b;
ll ans = (pow_mod(2, n, _MOD) + _MOD - (ll)1) % _MOD;
// cout << ans << endl;
ll cna = 1;
if (a > n / 2)
a = n - a;
for (ll i = 0; i < a; i++) {
cna = (cna % _MOD) * (n - i) % _MOD * pow_mod(i + 1, _MOD - 2, _MOD) % _MOD;
}
// cout << cna;
ll cnb = 1;
if (b > n / 2)
b = n - b;
for (ll i = 0; i < b; i++) {
cnb = (cnb % _MOD) * (n - i) % _MOD * pow_mod(i + 1, _MOD - 2, _MOD) % _MOD;
}
// cout << endl << cnb << endl;
ans = (ans + (ll)2 * _MOD - cna - cnb) % _MOD;
cout << ans;
}
ll pow_mod(ll a, ll e, ll p) {
if (e <= 0)
return 1;
ll resby = pow_mod(a, e / 2, p);
return resby * resby % p * ((e & 1) ? a : 1) % p;
}
用户输出
382492393
系统信息
Exited with return code 0
用户输出
173776972
系统信息
Exited with return code 0
用户输出
810092880
系统信息
Exited with return code 0
用户输出
506071717
系统信息
Exited with return code 0
用户输出
582594886
系统信息
Exited with return code 0