QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#103312#6128. Flippy Sequenceevirir#WA 94ms12736kbC++201.2kb2023-05-05 08:05:192023-05-05 08:05:23

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-05-05 08:05:23]
  • 评测
  • 测评结果:WA
  • 用时:94ms
  • 内存:12736kb
  • [2023-05-05 08:05:19]
  • 提交

answer

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

#define forn(i,a,b) for(int i = a; i < (b); i++)
#define fore(i,a,b) for(int i = a; i <= (b); i++)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
#define pb push_back
using ll = long long;
using ld = long double;
using ii = pair<int, int>;

void solve()
{
    ll n; cin>>n;
    string s,t; cin>>s>>t;
    forn(i,0,n)
    {
        if (s[i] == t[i]) s[i] = '0';
        else s[i] = '1';
    }
    vector<int> runs;
    int cnt = 0;
    forn(i,0,n)
    {
        if (s[i] == '1')
        {
            cnt++;
        }
        else
        {
            runs.pb(cnt);
            cnt=0;
        }
    }
    if (cnt) runs.pb(cnt);
    if (runs.empty()) {
        cout << n * (n-1) / 2 << '\n';
        return;
    }
    if (sz(runs) == 1) {
        ll ans = 0;
        ll L=-1,R=-1;
        forn(i,0,n)
        {
            if (s[i] == '1')
            {
                if (L == -1) L = i;
                R = i;
            }
        }
        cout << (runs[0] - 1 + n - runs[0]) * 2 << '\n';
        return;
    }

    cout<<6<<'\n';
}

int main()
{
    cin.tie(0)->sync_with_stdio(0);

    int t; cin>>t;
    forn(i,0,t) solve();
}
		

詳細信息

Test #1:

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

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: 94ms
memory: 12736kb

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:

0
0
6
2
6
2
6
6
6
4
6
6
6
4
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
10
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
10
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
...

result:

wrong answer 1st numbers differ - expected: '1', found: '0'