QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#143601#6128. Flippy SequencePhantomThreshold#AC ✓35ms10048kbC++20713b2023-08-21 14:21:112023-08-21 14:21:14

Judging History

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

  • [2023-08-21 14:21:14]
  • 评测
  • 测评结果:AC
  • 用时:35ms
  • 内存:10048kb
  • [2023-08-21 14:21:11]
  • 提交

answer

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

typedef long long ll;
const int maxn=1000000;
ll T,n;
string str1,str2;
int a[maxn+50];

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cin >> T;
	for (;T--;){
		cin >> n;
		cin >> str1;
		cin >> str2;
		for (int i=1;i<=n;i++) a[i]=(str1[i-1]!=str2[i-1]);
		a[n+1]=0;
		ll cnt=0;
		for (int i=1;i<=n+1;i++) if (a[i]!=a[i-1]) cnt++;
		/*
		cout << "------------------" << endl;
		for (int i=1;i<=n+1;i++) cout << a[i] << " ";
		cout << endl;
		cout << "cnt : " << cnt << endl;
		*/
		ll ans=0;
		if (cnt==0) ans=(n+1)*n/2;
		else if (cnt==2) ans=2*(n-1);
		else if (cnt==4) ans=6;
		cout << ans << "\n";
	}
	return 0;
}

详细

Test #1:

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

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: 35ms
memory: 10048kb

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