QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#94952#6128. Flippy Sequence2000805113#AC ✓53ms5884kbC++17969b2023-04-08 14:15:022023-04-08 14:15:03

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-04-08 14:15:03]
  • 评测
  • 测评结果:AC
  • 用时:53ms
  • 内存:5884kb
  • [2023-04-08 14:15:02]
  • 提交

answer

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

using ll = long long;
using pll = pair<ll,ll>;

int T;

ll n;
string s1, s2;

vector<pll> ve;

void solve() {
    ve.clear();
    cin >> n;
    cin >> s1 >> s2;
    for(int i = 0; i < n; i++){
        if(s1[i] != s2[i]){
            int j = i;
            while(j < n && s1[j] != s2[j]){
                j++;
            }
            ve.push_back({i, j});
            i = j;
        }
    }

    if(ve.size() == 0){
        cout << n * (n + 1) / 2 << '\n';
    }else if(ve.size() == 1){
        auto [l, r] = ve[0];
        cout << 2 * ((l) + (n - 1 - r) + (r - l)) << '\n';
    }else if(ve.size() == 2){
        auto [l1, r1] = ve[0];
        auto [l2, r2] = ve[1];
        cout << 6 << '\n';
    }else{
        cout << 0 << '\n';
    }
}
int main() {
    ios :: sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin >> T;
    while(T--) solve();
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 2ms
memory: 3512kb

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: 53ms
memory: 5884kb

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