QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#185384 | #6128. Flippy Sequence | chitoge | AC ✓ | 79ms | 7116kb | C++20 | 1.9kb | 2023-09-21 23:27:43 | 2023-09-21 23:27:44 |
Judging History
answer
#pragma GCC optimize("Ofast")
//booster_^^
#include<bits/stdc++.h>
#define FC(a,b,c) for(int i=a;i<b;i++)cin>>c[i]
#define Fn(n) for(int i=0;i<n;i++)
#define fin(a,n) for(int i=0;i<n;i++)cin>>a[i]
#define F(a,b) for(int i=a;i<b;i++)
#define all(a) a.begin(),a.end()
#define umap_boost(x) x.reserve(1024);x.max_load_factor(0.25);
#define PII pair<int,int>
#define ll long long
#define endl '\n'
using namespace std;
inline void cin_unlocked()
{
std::ios::sync_with_stdio(false);
std::cin.tie(0);
}
template <typename T>
inline void stable_unique(vector<T>& v ){
set<T> m(v.begin(),v.end());
v.assign(m.begin(),m.end());
}
class dsu{
public:
int n;
vector<int> c;
int q(int x){
if(c[x]!=x){
c[x]=q(c[x]);
}
return c[x];
}
void u(int a,int b){
int fa=q(a);
int fb=q(b);
if(fa!=fb)
c[fa]=fb;
}
dsu(int &_n){
this->n=_n+5;
this->c.resize(n);
for(int i=0;i<n;i++)c[i]=i;
}
};
int pow_mod(int a, int b,int mod) {//a^b
int ans = 1;
while(b > 0) {
if(b & 1) ans = ans * a % mod;
a = a * a % mod;
b >>= 1;
}
return ans;
}
inline void solve(){
int n;
cin>>n;
string s,t;
cin>>s>>t;
string d=s;
vector<int> dif[3];
if(n==1){
cout<<(s[0]==t[0])<<endl;
return;
}
int l=1;
for(int i=0;i<n;i++){
d[i]=(s[i]==t[i]);
if(!i)continue;
if(d[i]!=d[i-1]){
dif[!d[i]].emplace_back(l);
l=1;
}else{
l++;
}
}
if(l){
dif[d[n-1]].emplace_back(l);
}
// cout<<dif[0].size()<<' '<<dif[1].size()<<endl;
if(dif[0].size()==0){
cout<<n+(n*(n-1))/2<<endl;
}else if(dif[0].size() == 1){
cout<<2*(n-1)<<endl;
}else if (dif[0].size() == 2){
cout<<6<<endl;
}else{
cout<<0<<endl;
}
}
int main(){
cin_unlocked();
int t;cin>>t;for(;t--;)
solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3424kb
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: 79ms
memory: 7116kb
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