QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#691211#6128. Flippy SequenceOIer_kzc#WA 59ms5716kbC++17858b2024-10-31 10:24:282024-10-31 10:24:30

Judging History

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

  • [2024-10-31 10:24:30]
  • 评测
  • 测评结果:WA
  • 用时:59ms
  • 内存:5716kb
  • [2024-10-31 10:24:28]
  • 提交

answer

#include <stdio.h>
#include <string.h>

#include <vector>
#include <algorithm>

#define eb emplace_back

using namespace std;

typedef long long LL;
constexpr int N = 1000005;

int n;
char a[N], b[N];
struct Pair {
	int x, y;
	Pair() {}
	Pair(int _x, int _y) : x(_x), y(_y) {}
};
vector<Pair> seq;

int main() {
	int task;
	for (scanf("%d", &task); task--; ) {
		scanf("%d%s%s", &n, a + 1, b + 1);
		seq.clear();
		for (int i = 1, j; (j = i) <= n; i = j + 1) {
			while (j <= n && a[j] != b[j]) {
				++j;
			}
			if (a[i] != b[i]) {
				seq.eb(i, j - 1);
			}
		}
		if (seq.size() >= 3) {
			puts("0");
		} else if (seq.size() == 2) {
			puts("6");
		} else if (seq.size() == 1) {
			auto [l, r] = seq[0];
			printf("%d\n", r - l - 1 + n);
		} else {
			printf("%lld\n", n * (n + 1ll) / 2);
		}
	}
	return 0;
}

详细

Test #1:

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

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: -100
Wrong Answer
time: 59ms
memory: 5716kb

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
1
1
2
6
2
2
3
2
6
3
4
10
3
3
4
3
6
4
5
3
6
6
6
4
6
5
6
15
4
4
5
4
6
5
6
4
6
6
6
5
6
6
7
4
6
6
6
6
0
6
6
5
6
6
6
6
6
7
8
21
5
5
6
5
6
6
7
5
6
6
6
6
6
7
8
5
6
6
6
6
0
6
6
6
6
6
6
7
6
8
9
5
6
6
6
6
0
6
6
6
0
0
0
6
0
6
6
6
6
6
6
6
0
6
6
7
6
6
6
8
6
9
10
28
6
6
7
6
6
7
8
6
6
6
6
7
6
8
9
6
6
6
6
6
0...

result:

wrong answer 4th numbers differ - expected: '2', found: '1'