제출 #1230894

#제출 시각아이디문제언어결과실행 시간메모리
1230894The_SamuraiChess Rush (CEOI20_chessrush)C++20
0 / 100
3 ms320 KiB
#include "bits/stdc++.h" #include "arithmetics.h" using namespace std; constexpr int P = 1e9+7; int binpow(int base, int exp, int modulus=P) { base %= modulus; int result = 1; while (exp > 0) { if (exp & 1) result = (1ll*result * base) % modulus; base = (1ll*base * base) % modulus; exp >>= 1; } return result; } int c(int n, int k) { k = max(k, n - k); int ans = 1; for (int i = 1; i <= n - k; i++) ans = Mul(ans, i); ans = Div(1, ans); for (int i = k + 1; i <= n; i++) ans = Mul(ans, i); return ans; } int main() { int n, m, q; cin >> n >> m >> q; while (q--) { char op; int c1, c2; cin >> op >> c1 >> c2; assert(op == 'K'); int d = abs(c1 - c2); int ans = 0; for (int i = d; i < n; i += 2) { ans = Add(ans, Mul(c(n - 1, i), c(i, (i - d) / 2))); } cout << n - 1 << ' ' << ans << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...