QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#778259#6128. Flippy Sequence999#AC ✓63ms6892kbC++14550b2024-11-24 13:40:452024-11-24 13:40:45

Judging History

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

  • [2024-11-24 13:40:45]
  • 评测
  • 测评结果:AC
  • 用时:63ms
  • 内存:6892kb
  • [2024-11-24 13:40:45]
  • 提交

answer

#include<bits/stdc++.h>
#define For(a,b,c) for(int a=b;a<=c;++a)
const int N=2000007;
int n,l,r,L,R,c;
char A[N],B[N];
void magic() {
	scanf("%d%s%s",&n,A+1,B+1);
	c=0;
	For(i,1,n)
	if(A[i]!=B[i]) {
		int j=i;
		while(j<n&&A[j+1]!=B[j+1]) ++j;
		++c;
		if(c==1) l=i,r=j;
		if(c==2) L=i,R=j;
		i=j;
	}
	if(c>2) puts("0");
	if(c==1) {
		printf("%d\n",2*(l-1+n-r+r-l));
	}
	if(c==2) {
		puts("6");
	}
	if(c==0) {
		printf("%lld\n",1LL*n*(n+1)/2);
	}
}
int main() {
	int T;
	scanf("%d",&T);
	while(T--) {
		magic();
	}
}

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 5876kb

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: 63ms
memory: 6892kb

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