QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#877036#9801. Dot Product GameArkweedyWA 98ms3712kbC++201.2kb2025-01-31 18:44:132025-01-31 18:44:13

Judging History

This is the latest submission verdict.

  • [2025-01-31 18:44:13]
  • Judged
  • Verdict: WA
  • Time: 98ms
  • Memory: 3712kb
  • [2025-01-31 18:44:13]
  • Submitted

answer

#include<bits/stdc++.h>

using ll = long long;
using ull = unsigned long long;
using i64 = long long;

using namespace std;


void solve()
{
    int n;
    cin >> n;
    vector<int>a(n + 1), b(n + 1),idx(n + 1);
    for (int i = 1; i <= n; i++) {
        cin >> a[i];
        idx[a[i]] = i;
    }
    for (int i = 1; i <= n; i++) {
        cin >> b[i];
    }
    vector<int>vs(n + 1);
    auto dfs = [&](auto &&self,int p)->int
        {
            if (vs[p])
                return false;
            else {
                vs[p] = true;
                return self(self, idx[b[p]]) + 1;
            }
        };

    int ans = 0;
    for (int i = 1; i <= n; i++) {
        ans += dfs(dfs, i) > 1;
    }
    ans &= 1;
    string res;
    res += ans ? 'A' : 'B';
    int t = n - 1;
    while (t--) {
        char c;
        int l, r, k;
        cin >> c >> l >> r >> k;
        ans ^= ((r - l) * k) & 1;
        res += ans ? 'A' : 'B';
    }
    cout << res << endl;
    return;

}

int main()
{
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);

    int tt;
    cin >> tt;
    while (tt--)
        solve();
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3712kb

input:

5
3
1 2 3
1 2 3
A 1 1 1
B 1 1 1
3
1 2 3
2 1 3
A 1 2 1
B 2 2 1
3
1 2 3
2 1 3
A 1 3 1
B 1 2 1
3
1 2 3
3 2 1
A 2 2 1
B 2 3 1
10
1 2 3 4 5 6 7 8 9 10
4 2 3 9 6 1 5 8 7 10
A 2 9 10
B 2 7 9
A 1 10 8
B 4 6 7
B 3 10 6
A 2 5 5
A 8 9 4
B 3 9 3
A 2 7 2

output:

BBB
ABB
AAB
AAB
AABBBBAAAA

result:

ok 5 tokens

Test #2:

score: -100
Wrong Answer
time: 98ms
memory: 3584kb

input:

100000
7
7 4 6 3 5 1 2
4 2 6 1 5 3 7
A 2 6 7
A 3 3 7
A 4 5 6
A 3 6 3
A 2 5 5
A 2 3 1
3
1 2 3
3 1 2
B 1 1 1
A 1 3 3
6
1 6 3 4 2 5
6 3 2 4 1 5
B 6 6 5
B 3 5 4
B 1 6 6
A 2 5 2
B 2 5 5
10
8 7 10 2 5 3 1 9 6 4
10 2 8 9 1 5 7 3 6 4
B 3 3 2
B 3 10 7
B 4 8 2
B 3 7 4
A 3 4 9
B 5 6 8
B 6 8 7
B 3 6 1
B 6 8 3
7...

output:

BBBBABA
AAA
AAAAAB
BBAAABBBAA
ABABABA
ABAAAA
AAB
BBAABBAA
BBBBBBBA
ABB
BAAAAAAA
BA
AAA
AAAB
BBBBB
AAAABB
BBBBB
ABBB
AAABBBAA
AAAB
BBBABB
BB
AAB
AAAAB
AAA
AABBBB
AAAAA
BBBBBBBB
AAA
AABB
BAAABB
AAAA
BAABB
BBAAAAAA
ABBB
AAAAAA
BBBBBBBB
BBB
AA
ABBBAA
AAAB
BBBBBBB
ABBBB
AAB
ABB
AAABBB
AAAAA
BBBABBA
ABAAA...

result:

wrong answer 1st words differ - expected: 'AAAABAB', found: 'BBBBABA'