记录编号 38890 评测结果 AAAAAAAAAA
题目名称 [RQNOJ 165] FBI序列 最终得分 100
用户昵称 GravatarMakazeu 是否通过 通过
代码语言 C++ 运行时间 0.011 s
提交时间 2012-06-20 13:43:34 内存使用 0.32 MiB
显示代码纯文本
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;
const int MAXN=3000;
int Num[MAXN],F[MAXN]={0},N,ans=0;
char str[MAXN];
int main()
{
    freopen("fbi.in","r",stdin);
    freopen("fbi.out","w",stdout);
    gets(str); N=strlen(str);
    for(int i=1;i<=N;i++)
    {
        switch(str[i-1])
        {
        case 'F':Num[i]=1;break;
        case 'B':Num[i]=2;break;
        case 'I':Num[i]=3;break;
        default:Num[i]=0;break;
        }
    }
    for(int i=1;i<=N;i++)
    {
        F[i]=0;
        if(Num[i]==0) continue;
        if(Num[i]==1) {F[i]=1;continue;}
        for(int j=1;j<=N-1;j++)
            if(Num[j]==Num[i]-1) F[i]+=F[j];
        if(Num[i]==3) ans+=F[i];
    }
    printf("%d\n",ans);
    return 0;
}