QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#721396#6128. Flippy Sequence0x3fffffffWA 39ms7192kbC++231.4kb2024-11-07 16:01:272024-11-07 16:01:28

Judging History

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

  • [2024-11-07 16:01:28]
  • 评测
  • 测评结果:WA
  • 用时:39ms
  • 内存:7192kb
  • [2024-11-07 16:01:27]
  • 提交

answer

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

void solve() {
    int n;cin >> n;
    string a, b;
    cin >> a >> b;
    a = ' ' + a;
    b = ' ' + b;
    if (a == b) {
        cout << n * (n + 1) / 2 << "\n";return;
    }
    int l = 1, r = n;
    while (l <= n) {
        if (a[l] == b[l])l++;
        else break;
    }
    while (r >= 1) {
        if (a[r] == b[r])r--;
        else break;
    }
    if (r < l) {
        cout << 1 << "\n";return;
    }

    int ok = 0;
    for (int i = l;i <= r;i++) {
        if (a[i] == b[i]) {
            ok++;
            int j = i;
            while (a[j] == b[j])j++;
            i = j - 1;
        }
    }
    if (ok == 0) {
        int ans = r - l;
        int s = l - 1;
        ans += s * (s + 1) / 2;
        s = n - r;
        ans += s * (s + 1) / 2;
        ans *= 2;
        cout << ans << "\n";
        return;
    }
    else if (ok == 1) {
        cout << 6 << "\n";return;
    }
    else {
        int ans = 0;
        int s = l - 1;
        ans += s * (s + 1) / 2;
        s = n - r;
        ans += s * (s + 1) / 2;
        cout << ans << "\n";
    }
    // cout << l << " " << r << "\n";
}

signed main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    int T = 1;
#ifdef LOCAL
    freopen("data.in", "r", stdin);
    freopen("data.out", "w", stdout);
#endif
    cin >> T;
    while (T--)
        solve();
    return 0;
}

詳細信息

Test #1:

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

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: -100
Wrong Answer
time: 39ms
memory: 7192kb

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
6
4
4
6
6
4
4
10
12
8
8
8
6
6
6
12
6
6
6
8
6
6
6
15
20
14
14
12
6
10
10
14
6
6
6
10
6
8
8
20
6
6
6
6
0
6
6
14
6
6
6
10
6
8
8
21
30
22
22
18
6
16
16
18
6
6
6
14
6
12
12
22
6
6
6
6
1
6
6
16
6
6
6
12
6
10
10
30
6
6
6
6
0
6
6
6
0
1
0
6
0
6
6
22
6
6
6
6
0
6
6
16
6
6
6
12
6
10
10
28
42
32
32...

result:

wrong answer 8th numbers differ - expected: '4', found: '6'