QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#149538#6128. Flippy Sequencepooty#AC ✓63ms7156kbC++14787b2023-08-24 19:59:132023-08-24 19:59:14

Judging History

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

  • [2023-08-24 19:59:14]
  • 评测
  • 测评结果:AC
  • 用时:63ms
  • 内存:7156kb
  • [2023-08-24 19:59:13]
  • 提交

answer

#include <bits/stdc++.h>

using namespace std;
using ll = long long;

ll solve() {
    int n; cin >> n;
    string s, t; cin >> s >> t;
    vector<pair<int, int>> diff;
    for (int i = 0; i < n; ++i) {
        if (s[i] != t[i]) {
            if (i == 0 || s[i-1] == t[i-1]) {
                diff.emplace_back(i, i);
            } else {
                diff.back().second = i;
            }
        }
    }
    if (diff.size() > 2) return 0;
    else if (diff.size() == 2) return 6;
    else if (diff.size() == 1) {
        return 2 * (n - 1);
    } else {
        return (ll)n * (n + 1) / 2;
    }
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int t; cin >> t;
    while (t--) {
        cout << solve() << "\n";
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 63ms
memory: 7156kb

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