#include <bits/stdc++.h>
#define int long long
using namespace std;
int n, iw[10], ib[10];
string s;
void read (){
cin >> n >> s;
assert(n <= 8);
int b = 0, w = 0;
for (int i = 0; i < 2 * n; i++){
if (s[i] == 'W'){
iw[w] = i;
w++;
}
else{
ib[b] = i;
b++;
}
}
}
bool check (int x, int y, int nx, int ny){
return ((min(x, nx) < y && max(x, nx) > y) != (min(x, nx) < ny && max(x, nx) > ny));
}
int ans;
void solve (){
vector <int> p(n);
iota(p.begin(), p.end(), 0);
do {
int res = 0;
for (int i = 0; i < n; i++)
for (int j = i + 1; j < n; j++)
res += check(ib[i], ib[j], iw[p[i]], iw[p[j]]);
ans = max(ans, res);
}while(next_permutation(p.begin(), p.end()));
}
void print (){
cout << ans;
}
int32_t main (){
ios_base::sync_with_stdio(0), cin.tie(0);
read();
solve();
print();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |