QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#420904#6789. Yet Another Game of StonesohiostatescarletWA 142ms9124kbC++201.3kb2024-05-25 03:10:352024-05-25 03:10:35

Judging History

你现在查看的是最新测评结果

  • [2024-05-25 03:10:35]
  • 评测
  • 测评结果:WA
  • 用时:142ms
  • 内存:9124kb
  • [2024-05-25 03:10:35]
  • 提交

answer

#include "bits/stdc++.h"
using namespace std;
#define L long long
#ifdef LOCAL
#define dbg(x) cerr << '[' << #x << " = " << (x) << "]" << endl;
#else
#define dbg(x)
#endif
// g++ -std=c++17 -O2 -DLOCAL -o a a.cpp

int main() {
  cin.tie(0)->sync_with_stdio(0);
  int t; cin >> t;
  for (int ti = 0; ti < t; ti++) {
    int n; cin >> n;
    vector<int> a(n);
    vector<int> b(n);
    for (int&v:a) cin >> v;
    for (int&v:b) cin >> v;
    int req = 0;
    int e = 0;
    int o = 0;
    int g1 = 0;
    int g1v = 0;
    int x = 0;
    int x2 = 0;
    bool fm = false;
    bool succ = true;
    set<int> vals;
    for (int i = 0; i < n; i++) {
      vals.insert(i);
      if (b[i] == 2) {
        e++;
        if (a[i]%2==1 || e >= 2) {
          succ = false;
          break;
        }
        req = a[i];
      }
      if (b[i] == 1) {
        o++;
        if (a[i] > 1) {
          g1++;
          g1v = a[i];
          if (g1 > 1) {
            succ = false;
            break;
          }
        }
      }
      if (b[i] == 0) {
        x2 ^= a[i];
      }
      x ^= a[i];
    }
    succ = succ && x;
    succ = succ && (e == 0 || x == req);
    succ = succ && (g1 == 0 || (e == 0 && g1 == 1 && ((x == g1v && g1v%2) || (x^g1v^1 == 0 && g1v%2==0))));
    cout << (succ ? "Alice" : "Bob") << "\n";
  }
}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3640kb

input:

3
2
4 1
1 0
1
3
2
1
1
2

output:

Alice
Bob
Bob

result:

ok 3 tokens

Test #2:

score: -100
Wrong Answer
time: 142ms
memory: 9124kb

input:

1015
7
2 3 4 1 5 1 4
0 0 0 0 0 1 2
6
6 5 5 6 5 1
0 1 2 2 2 1
4
2 6 2 3
0 0 0 0
3
4 5 5
0 2 2
6
6 1 6 1 4 5
2 1 1 0 2 0
3
4 4 3
0 1 2
5
6 3 5 4 4
1 2 0 1 1
5
6 3 1 1 5
1 2 1 1 2
4
3 4 5 3
0 0 0 2
4
6 1 5 1
2 1 2 2
5
1 4 3 2 6
1 2 0 0 2
4
6 2 1 1
0 0 2 2
1
6
2
3
5 1 4
2 0 0
1
5
0
6
1 6 6 4 5 6
1 2 1 0...

output:

Alice
Bob
Alice
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Alice
Bob
Alice
Bob
Bob
Bob
Bob
Alice
Bob
Alice
Bob
Alice
Bob
Bob
Bob
Bob
Alice
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Alice
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Alice
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Bob
Alice
Alice
...

result:

wrong answer 29th words differ - expected: 'Bob', found: 'Alice'