Submission #1218152

#TimeUsernameProblemLanguageResultExecution timeMemory
1218152__moin__Chess Rush (CEOI20_chessrush)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int p = 1e9+7; __int32_t main() { // ios::sync_with_stdio(0); cin.tie(0); int r, c, q; cin >> r >> c >> q; for (int i = 0; i < q; i++) { char t; int in, out; cin >> t >> in >> out; switch (t) { case 'P': if (in != out) { cout << "0 0\n"; break; } cout << r-1 << " 1" << "\n"; break; case 'R': if (in == out) { cout << "1 1\n"; } else { cout << "2 2\n"; } break; case 'Q': if (in == out) { cout << "1 1\n"; } else if (r == c && (in == 1 || in == c) && (out == 1 || out == c)) { cout << "1 1\n"; } else { // int diag1phi = (1+i-r-out); // int cnt = 0; // int diag2phi = -diag1phi; // if ((diag1phi & 1) == 0) { // if (1+diag1phi/2 <= c) cnt++; // if (1+diag2phi/2 >= 1) cnt++; // } int cnt = 0; int k1 = 1-in; int k2 = r+out; int x1 = k1+k2; if ((x1 & 1) == 0 && (k2-x1/2) <= c) cnt++; int k3 = 1+in; int k4 = r-out; int x2 = k3+k4; if ((x2 & 1) == 0 && (k3-x2/2) >= 1) cnt++; if (r == c && (out == 1 || out == c)) cnt++; cout << "2 " << (4 + cnt) << "\n"; } break; default: cout << "---\n"; break; } } return 0; }
#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...