QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#656673 | #6128. Flippy Sequence | kazimiyuuka | RE | 0ms | 3476kb | C++20 | 1.3kb | 2024-10-19 13:31:39 | 2024-10-19 13:31:44 |
Judging History
answer
#include <iostream>
#include <string>
#include <string.h>
#include <vector>
#include <algorithm>
#include <cmath>
#include <set>
#include <random>
#include <cstdlib>
#include <numeric>
#include <functional>
#include <queue>
using namespace std;
using ll = long long;
ll mod = 1e9 + 7;
void slove()
{
int n;
cin >> n;
string s(n + 1 , 0), t(n + 1,0);
for (int i = 1; i <= n; i++)
cin >> s[i];
for (int i = 1; i <= n; i++)
cin >> t[i];
vector<int> tmp(n + 1, 0);
for (int i = 1; i <= n; i++)
if (s[i] != t[i])
tmp[i] = 1;
vector<pair<int, int>> data;
// 处理为连续的区间
for (int i = 1; i <= n; i++)
{
if (tmp[i] == 1)
{
int j = i;
while (j + 1 <= n && tmp[j + 1] == 1)
j++;
data.emplace_back(i, j);
i = j;
}
}
if (data.size() > 2)
{
cout << 0 << endl;
return;
}
else if (data.size() == 2)
{
cout << 6 << endl;
}
else
{
int ans = n - (data[0].second - data[0].first + 1);
ans += (data[0].second - data[0].first);
ans *= 2;
cout << ans << endl;
}
return;
}
int main()
{
//freopen("out.txt", "w", stdout);
//freopen("in.txt", "r", stdin);
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int cnt = 1;
cin >> cnt;
while (cnt--)
{
slove();
}
};
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3476kb
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
Runtime Error
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...