#include <bits/stdc++.h>
using namespace std;
int dp[100001][4][4][4][4]={-1};
int main()
{
int n,a;
char o;
cin>>n;
for(int i=0;i<=n;i++)
{
for(int b=0;b<4;b++)
{
for(int c=0;c<4;c++)
{
for(int d=0;d<4;d++)
{
for(int k=0;k<4;k++)
{
dp[i][b][c][d][k]=-1;
}
}
}
}
}
dp[0][0][0][0][0]=0;
for(int i=1;i<=n;i++)
{
cin>>o;
if('M'==o)a=1;
else if(o=='F')a=2;
else a=3;
for(int c=0;c<4;c++)
{
for(int d=0;d<4;d++)
{
for(int b=0;b<4;b++)
{
int ksum=3;
if(b==0||b==a)ksum--;
for(int k=0;k<4;k++)
{
int sum=ksum;
if(k==b||k==0||k==a)sum--;
if(dp[i-1][c][d][k][b]==-1)continue;
dp[i][b][a][c][d]=max(dp[i][b][a][c][d],dp[i-1][k][b][c][d]+sum);
}
}
}
}
for(int c=0;c<4;c++)
{
for(int d=0;d<4;d++)
{
for(int b=0;b<4;b++)
{
int ksum=3;
if(b==0||b==a)ksum--;
for(int k=0;k<4;k++)
{
int sum=ksum;
if(k==b||k==0||k==a)sum--;
if(dp[i-1][c][d][k][b]==-1)continue;
dp[i][c][d][b][a]=max(dp[i][c][d][b][a],dp[i-1][c][d][k][b]+sum);
}
}
}
}
}
int res=0;
for(int i=0;i<4;i++)
{
for(int c=0;c<4;c++)
{
for(int d=0;d<4;d++)
{
for(int b=0;b<4;b++)
{
res=max(res,dp[n][i][c][d][b]);
}
}
}
}
cout<<res;
return 0;
}
# | 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... |