#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 << "\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++;
cout << "2 " << (4 + cnt) << "\n";
}
break;
default:
// return 1;
break;
}
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |