Submission #814283

#TimeUsernameProblemLanguageResultExecution timeMemory
814283finn__Chess Rush (CEOI20_chessrush)C++17
0 / 100
1 ms316 KiB
#include <bits/stdc++.h>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int r, c, q;
    cin >> r >> c >> q;

    while (q--)
    {
        char type;
        int start, finish;
        cin >> type >> start >> finish;

        switch (type)
        {
        case 'P':
        {
            if (start == finish)
                cout << r - 1 << " 1\n";
            else
                cout << "0 0\n";
            break;
        }
        case 'R':
        {
            if (start == finish)
                cout << "1 1\n";
            else
                cout << "2 2\n";
            break;
        }
        case 'Q':
        {
            if (start == finish || finish - (r - 1) == start || finish + (r - 1) == start)
                cout << "1 1\n";
            else if (abs(start - finish) > r)
                cout << "2 4\n";
            else
            {
                int ans = 4,
                    side_space = (r - 1 - abs(start - finish)) / 2;
                if ((r - abs(start - finish)) & 1)
                    ans += min(start, finish) - side_space >= 1, ans += max(start, finish) + side_space <= c;
                cout << "2 " << ans << '\n';
            }
            break;
        }
        }
    }
}
#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...