QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#266867#6128. Flippy SequencezlxFTHAC ✓491ms7760kbC++171018b2023-11-26 18:36:402023-11-26 18:36:40

Judging History

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

  • [2023-11-26 18:36:40]
  • 评测
  • 测评结果:AC
  • 用时:491ms
  • 内存:7760kb
  • [2023-11-26 18:36:40]
  • 提交

answer

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

const int N=1000005;

int T,n,a[N];

int read(){
	int f=1,k=0;
	char c=getchar();
	while(c<'0'||c>'9'){
		if(c=='-')f=-1;
		c=getchar();
	}
	while(c>='0'&&c<='9'){
		k=k*10+c-'0';
		c=getchar();
	}
	return f*k;
}

void sol(){
	int num=0,lx[3],rx[3];
	bool runn=0;
	for(int i(1);i<=n;++i)
		if(a[i]){
			if(runn)rx[num]=i;
			else{
				if(num==2){
					puts("0");
					return;
				}
				lx[++num]=i;rx[num]=i;
				runn=1;
			}
		}
		else runn=0;
	if(num==0){
		printf("%lld\n",(n+1ll)*n/2);
		return;
	}
	if(num==1){
		//cout<<'\n'<<"qk1 "<<lx[1]<<" "<<rx[1]<<" "<<n<<'\n';
		printf("%lld\n",(n-1)*2);
		return;
	}
	if(num==2){
		puts("6");
		return;
	}
	return;
}

int main(){
	T=read();
	while(T--){
		n=read();
		for(int i(1);i<=n;++i){
			char ch;scanf(" %c",&ch);
			a[i]=ch-'0';
		}
		for(int i(1);i<=n;++i){
			char ch;scanf(" %c",&ch);
			a[i]^=ch-'0';
		}//cout<<"ans: ";
		sol();
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 491ms
memory: 7760kb

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