#include <bits/stdc++.h>
using namespace std;
#define int long long
const int modulo = 1e9+7;
int32_t main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int R,C,Q;
cin >> R >> C >> Q;
for(int i=1;i<=Q;i++){
char t;cin>>t;
int st,ta;cin>>st>>ta;
if(ta<st){
ta = C-ta;
st = C-st;
}
switch(t){
case 'P':
if(st==ta)cout<<R-1<<" 1\n";
else cout<<"0 0\n";
break;
case 'R':
if(st==ta)cout<<"1 1\n";
else cout<<"2 2\n";
break;
case 'Q':
if(st==ta)cout<<"1 1\n";
else if(ta-st==R-1)cout<<"1 1\n";
else {
int ans = 4;
if(((1+st)&1)==((R+ta)&1) and st+((R+ta-1-st)/2)<=C)ans++;
if(((1+st)&1)==((R+ta)&1) and ta-((R+ta-1-st)/2)>0)ans++;
if(ta+R-1<=C)ans++;
if(st-(R-1)>0)ans++;
if(st+(R-1)<=C)ans++;
if(ta-(R-1)>0)ans++;
cout << "2 " << ans << '\n';
}
break;
case 'B':
break;
case 'K':
break;
}
}
}
# | 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... |