QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#721396 | #6128. Flippy Sequence | 0x3fffffff | WA | 39ms | 7192kb | C++23 | 1.4kb | 2024-11-07 16:01:27 | 2024-11-07 16:01:28 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int long long
void solve() {
int n;cin >> n;
string a, b;
cin >> a >> b;
a = ' ' + a;
b = ' ' + b;
if (a == b) {
cout << n * (n + 1) / 2 << "\n";return;
}
int l = 1, r = n;
while (l <= n) {
if (a[l] == b[l])l++;
else break;
}
while (r >= 1) {
if (a[r] == b[r])r--;
else break;
}
if (r < l) {
cout << 1 << "\n";return;
}
int ok = 0;
for (int i = l;i <= r;i++) {
if (a[i] == b[i]) {
ok++;
int j = i;
while (a[j] == b[j])j++;
i = j - 1;
}
}
if (ok == 0) {
int ans = r - l;
int s = l - 1;
ans += s * (s + 1) / 2;
s = n - r;
ans += s * (s + 1) / 2;
ans *= 2;
cout << ans << "\n";
return;
}
else if (ok == 1) {
cout << 6 << "\n";return;
}
else {
int ans = 0;
int s = l - 1;
ans += s * (s + 1) / 2;
s = n - r;
ans += s * (s + 1) / 2;
cout << ans << "\n";
}
// cout << l << " " << r << "\n";
}
signed main() {
ios::sync_with_stdio(0);
cin.tie(0);
int T = 1;
#ifdef LOCAL
freopen("data.in", "r", stdin);
freopen("data.out", "w", stdout);
#endif
cin >> T;
while (T--)
solve();
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3772kb
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: 39ms
memory: 7192kb
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 6 4 4 6 6 4 4 10 12 8 8 8 6 6 6 12 6 6 6 8 6 6 6 15 20 14 14 12 6 10 10 14 6 6 6 10 6 8 8 20 6 6 6 6 0 6 6 14 6 6 6 10 6 8 8 21 30 22 22 18 6 16 16 18 6 6 6 14 6 12 12 22 6 6 6 6 1 6 6 16 6 6 6 12 6 10 10 30 6 6 6 6 0 6 6 6 0 1 0 6 0 6 6 22 6 6 6 6 0 6 6 16 6 6 6 12 6 10 10 28 42 32 32...
result:
wrong answer 8th numbers differ - expected: '4', found: '6'