QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#651833#6128. Flippy Sequenceucup-team5217#AC ✓40ms11052kbC++23782b2024-10-18 18:04:302024-10-18 18:04:42

Judging History

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

  • [2024-10-18 18:04:42]
  • 评测
  • 测评结果:AC
  • 用时:40ms
  • 内存:11052kb
  • [2024-10-18 18:04:30]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

#define endl '\n'

#define maxn 1000005

int a[maxn];

void solve(void) {
    int n;
    cin >> n;
    string s, t;
    cin >> s >> t;
    for (int i = 1; i <= n; i++) a[i] = (s[i - 1] ^ t[i - 1]);
    a[n + 1] = 0;
    for (int i = n + 1; i; i--) a[i] ^= a[i - 1];
    int cnt = 0;
    for (int i = 1; i <= n + 1; i++) cnt += a[i];
    if (cnt == 0)
        cout << (int64_t)n * (n + 1) / 2 << endl;
    else if (cnt == 2)
        cout << 2 * (n - 1) << endl;
    else if (cnt == 4)
        cout << 6 << endl;
    else
        cout << 0 << endl;
    return;
}

int main() {
    ios::sync_with_stdio(false), cin.tie(nullptr);

    int _ = 1;
    cin >> _;
    while (_--) solve();

    return 0;
}

詳細信息

Test #1:

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

input:

3
1
1
0
2
00
11
5
01010
00111

output:

0
2
6

result:

ok 3 number(s): "0 2 6"

Test #2:

score: 0
Accepted
time: 40ms
memory: 11052kb

input:

126648
1
0
0
1
1
0
2
01
01
2
01
11
2
10
11
2
11
00
3
011
011
3
010
110
3
011
001
3
111
001
3
001
000
3
101
000
3
011
000
3
111
000
4
1111
1111
4
1110
0110
4
0010
0110
4
1011
0111
4
1001
1011
4
0100
1110
4
0000
0110
4
0111
1001
4
1001
1000
4
1011
0010
4
0001
0100
4
1000
0101
4
0100
0111
4
1101
0110
4...

output:

1
0
3
2
2
2
6
4
4
4
4
6
4
4
10
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
15
8
8
8
8
6
8
8
8
6
6
6
8
6
8
8
8
6
6
6
6
0
6
6
8
6
6
6
8
6
8
8
21
10
10
10
10
6
10
10
10
6
6
6
10
6
10
10
10
6
6
6
6
0
6
6
10
6
6
6
10
6
10
10
10
6
6
6
6
0
6
6
6
0
0
0
6
0
6
6
10
6
6
6
6
0
6
6
10
6
6
6
10
6
10
10
28
12
12
12
12
6
12
12
1...

result:

ok 126648 numbers