#include <bits/stdc++.h>
using namespace std;
int n; string s;
map<char, int> mp;
int dp[2][4][4][4][4];
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> s;
s = ' ' + s;
mp['M'] = 1;
mp['B'] = 2;
mp['F'] = 3;
for(int i = 0;i<2;i++){
for(int j = 0;j<4;j++){
for(int k = 0;k<4;k++){
for(int g = 0;g<4;g++){
for(int f = 0;f<4;f++){
dp[i][j][k][g][f] = -2e9;
}
}
}
}
}
dp[0][0][0][0][0] = 0;
for(int i = 1;i<=n;i++){
int id = mp[s[i]];
for(int j = 0;j<4;j++){
for(int k = 0;k<4;k++){
for(int g = 0;g<4;g++){
for(int f = 0;f<4;f++){
set<int> d;
d.insert(id);
d.insert(j);
d.insert(k);
d.erase(0);
dp[i&1][id][j][g][f] = max(dp[i&1][id][j][g][f], dp[1-(i&1)][j][k][g][f] + (int)d.size());
d.clear();
d.insert(id);
d.insert(g);
d.insert(f);
d.erase(0);
dp[i&1][j][k][id][g] = max(dp[i&1][j][k][id][g], dp[1-(i&1)][j][k][g][f] + (int)d.size());
d.clear();
}
}
}
}
}
int ans = 0;
for(int j = 0;j<4;j++){
for(int k = 0;k<4;k++){
for(int g = 0;g<4;g++){
for(int f = 0;f<4;f++){
ans = max(ans, dp[n&1][j][k][g][f]);
}
}
}
}
cout << ans;
}
| # | 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... |
| # | 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... |
| # | 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... |