#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)%p) << " 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 cnt = 0;
int k1 = 1-in;
int k2 = r+out;
int x1 = k1+k2;
if (x1 % 2 == 0 && (k2-x1/2) <= c) cnt++;
int k3 = 1+in;
int k4 = r-out;
int x2 = k3+k4;
if (x2 % 2 == 0 && (k3-x2/2) >= 1) cnt++;
if (r == c && (out == 1 || out == c)) cnt++;
cout << "2 " << (4 + cnt) << "\n";
}
break;
default:
cout << "---\n";
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... |