이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
template<class T>void chmax(T &a,T b){if(a<b)a=b;}
template<class T>void chmin(T &a,T b){if(a>b)a=b;}
constexpr int INF=1000000000;
int main(){
int n,a[100010],dp[2][4][4][4][4];
string s;
cin>>n>>s;
rep(i,2){
rep(c,4){
rep(d,4){
rep(e,4){
rep(f,4){
dp[i][c][d][e][f]=-INF;
}
}
}
}
}
dp[0][3][3][3][3]=0;
rep(i,n){
if(s[i]=='M')a[i]=0;
if(s[i]=='F')a[i]=1;
if(s[i]=='B')a[i]=2;
}
set<int>x,y;
rep(i,n){
rep(c,4){
rep(d,4){
if(c==3&&d!=3)continue;
rep(e,4){
rep(f,4){
if(e==3&&f!=3)continue;
x.clear();
y.clear();
if(c!=3)x.insert(c);
if(d!=3)x.insert(d);
x.insert(a[i]);
if(e!=3)y.insert(e);
if(f!=3)y.insert(f);
y.insert(a[i]);
chmax(dp[(i+1)%2][a[i]][c][e][f],dp[i%2][c][d][e][f]+(int)x.size());
chmax(dp[(i+1)%2][c][d][a[i]][e],dp[i%2][c][d][e][f]+(int)y.size());
}
}
}
}
}
int ans=0;
rep(c,4){
rep(d,4){
if(c==3&&d!=3)continue;
rep(e,4){
rep(f,4){
if(e==3&&f!=3)continue;
chmax(ans,dp[n%2][c][d][e][f]);
}
}
}
}
cout<<ans<<endl;
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... |