QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#492580#6128. Flippy SequencepriudyAC ✓83ms6196kbC++14992b2024-07-26 14:06:042024-07-26 14:06:04

Judging History

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

  • [2024-07-26 14:06:04]
  • 评测
  • 测评结果:AC
  • 用时:83ms
  • 内存:6196kb
  • [2024-07-26 14:06:04]
  • 提交

answer

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=110005;
int n;
string a,b;
void solve(){
	cin>>n;
	cin>>a>>b;
	int cnt=0;int f=0;
	vector<int> nums;int l=0;
	for(int i=0;i<n;i++){
		if(!f&&(int)(a[i]-'0')+(int)(b[i]-'0')==1){
			f=1;l++;
		}
		else if(f&&(int)(a[i]-'0')+(int)(b[i]-'0')==1){
			l++;
		}
		if(f&&(int)(a[i]-'0')+(int)(b[i]-'0')!=1){
			f=0;cnt++;
			nums.emplace_back(l);l=0;
		}
	}
	if(f&&(int)(a[n-1]-'0')+(int)(b[n-1]-'0')==1){
		nums.emplace_back(l);
	}
	if(nums.size()>2){
		cout<<0<<endl;
		return;
	}
	if(nums.size()==1){
		cout<<2*(n-nums.size())+2*(nums.size()-1)<<endl;
	}
	else if(nums.size()==2){
		cout<<6<<endl;
	}
	else if(nums.size()==0){
		cout<<n*(n+1)/2<<endl;
	}
	return;
}
signed main() {
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	//freopen("in.txt","r",stdin);
	//freopen("out.txt","w",stdout);
	int t=1;
	cin>>t;
	while(t--){
		solve();
	}
    return 0;
}


Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 83ms
memory: 6196kb

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