QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#747969#6128. Flippy Sequencetassei903#AC ✓55ms7120kbC++201.4kb2024-11-14 18:53:482024-11-14 18:53:55

Judging History

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

  • [2024-11-14 18:53:55]
  • 评测
  • 测评结果:AC
  • 用时:55ms
  • 内存:7120kb
  • [2024-11-14 18:53:48]
  • 提交

answer

#include <bits/stdc++.h>

#define rep(i, l, r) for(int i = (int)l; i < (int)r; i++)
#define all(v) v.begin(), v.end()
#define sz(v) (int)v.size()
using namespace std;

using ll = long long;
using pll = pair<ll, ll>;
using pii = pair<int, int>;
using ld = long double;

typedef vector<ll> vl;
typedef vector<int> vi;

template<class T>
void out(const vector<T> &v) {
    for (auto x: v)cout << x << " ";
    cout << endl;
}
vector<int> f = {1, 0, 0, 0, 1, 0, 1, 0, 2, 1};

void solve() {
    
    int n;cin >> n;
    string s, t;cin >> s >> t;
    
    int cnt = 0, l = -1, r = -1;
    for (int i = 0, j; i < n; i = j) {
        j = i;
        while (j < n && (s[i] == t[i]) == (s[j] == t[j])) j++;
        if (s[i] != t[i]) {
            cnt++;

            // cout << j << " " << i << endl;
            l = i;
            r = j;
        }
    }
    // cout << cnt << " " << l <<" " << r << endl;

    if (cnt == 0) {
        ll x = n;
        cout << x * (x + 1)/ 2 << endl;
    }
    else if (cnt == 1) {
        cout << 2 * (r - l - 1) + 2 * l + 2 * (n - r) << endl;
    }
    else if (cnt == 2) {
        cout << 6 << endl;
    }
    else {
        cout << 0 << endl;
    }

}

int main() {


    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int T; cin >> T;
    while(T--) {
        solve();
    }
    
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 55ms
memory: 7120kb

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