QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#310530#6128. Flippy SequenceBrotherCall#AC ✓297ms13328kbC++14778b2024-01-21 15:13:352024-01-21 15:13:35

Judging History

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

  • [2024-01-21 15:13:35]
  • 评测
  • 测评结果:AC
  • 用时:297ms
  • 内存:13328kb
  • [2024-01-21 15:13:35]
  • 提交

answer

#include <iostream>
#include <cstdio>
#include <cmath>
#include <sstream>
#include <cstring>
#define int long long
using namespace std;

const int N = 1e6 + 100;
int t;
int n , x , num[N];
char c1[N] , c2[N];

signed main() {
	cin >> t;
	while(t --) {
		cin >> n;
		cin >> c1 + 1 >> c2 + 1;
		num[0] = 0;
		for(int i = 1;i <= n;i ++) {
			if(c1[i] == c2[i]) num[i] = 0;
				else num[i] = num[i - 1] + 1;
		}
		int sum = 0;
		int k1 = 0 , k2 = 0;
		num[n + 1] = 0;
		for(int i = 2;i <= n + 1;i ++) {
			if(num[i] == 0 && num[i - 1] > 0) 
				sum ++;
		}
		if(sum > 2) cout << 0 << endl;
			else if(sum == 2) cout << 6 << endl;
				else if(sum == 0) cout << n * (n + 1) / 2 << endl;
					else cout << (n - 1) * 2 << endl;
					
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 297ms
memory: 13328kb

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