Submission #1233483

#TimeUsernameProblemLanguageResultExecution timeMemory
1233483LaMatematica14Chess Rush (CEOI20_chessrush)C++20
0 / 100
1 ms328 KiB
#include <bits/stdc++.h> #include "arithmetics.h" using namespace std; const long long mod = 1000000007; int main() { int R, C, Q; cin >> R >> C >> Q; vector<long long> precbin(C); vector<long long> precfact(C, 1); precbin[0] = R-1; for (int i = 1; i < C; i++) precbin[i] = (precbin[i-1]*(R+i-1))%mod; for (int i = 1; i < C; i++) precfact[i] = (precfact[i-1]*i)%mod; for (int i = 0; i < C; i++) precbin[i] = Div(precbin[i], precfact[i]); for (int i = 0; i < Q; i++) { char T; cin >> T; int c1, cr; cin >> c1 >> cr; if (T == 'P') { if (c1 == cr) { cout << R-1 << " 1"; } else cout << "0 0"; } else if (T == 'R') { if (c1 == cr) { cout << "1 1"; } else cout << "2 2"; } else if (T == 'Q') { if (c1 > cr) swap(c1, cr); if (c1 == cr || (R == C && c1 == 1 & cr == C)) { cout << "1 1"; } else { int ok = 0; cout << "2 " << 4+ok; } } else if (T == 'K') { cout << R-1+c1-cr << " " << precbin[c1-cr]; } cout << "\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...