QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#227165#6128. Flippy SequencehanoAC ✓299ms8064kbC++141.4kb2023-10-27 00:14:212023-10-27 00:14:22

Judging History

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

  • [2023-10-27 00:14:22]
  • 评测
  • 测评结果:AC
  • 用时:299ms
  • 内存:8064kb
  • [2023-10-27 00:14:21]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define pi pair<int,ll>
#define fi first
#define se second
#define pb push_back
#pragma GCC optimize("O3")
#pragma GCC target("avx2")


int main(){
    int t;cin>>t;
    while(t--){
        ll n;cin>>n;
        string s,t;cin>>s>>t;
        string ss="";
        int dif=0;
        for(int i=0;i<n;i++){
            if(s[i]!=t[i]){
                ss+='1';
            }else{
                ss+='0';
            }
        }
        dif+=(ss[0]=='1');
        for(int i=1;i<n;i++){
            if(ss[i]=='1'&&(ss[i-1]!=ss[i])){
                dif++;
            }
        }
        if(dif>2){
            cout<<0<<endl;
        }else if(dif==2){
            cout<<6<<endl;
        }else if(dif==1){
            if(n==1){
                cout<<0<<endl;
                continue;
            }
            int cnt=0;
            for(int i=0;i<n;i++){
                if(ss[i]=='1'){
                    for(int j=i;j<n&&ss[j]=='1';j++){
                        cnt++;
                    }
                    break;
                }
            }
            if(cnt==1){
                cout<<(n-1)*2<<endl;
            }else{
                cout<<(cnt-1+(n-cnt))*2<<endl;
            }

        }else{
            cout<<(n*(n+1))/2<<endl;
        }
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 299ms
memory: 8064kb

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