| 记录编号 | 38890 | 评测结果 | AAAAAAAAAA | 
    
        | 题目名称 | 823.[RQNOJ 165] FBI序列 | 最终得分 | 100 | 
    
        | 用户昵称 |  Makazeu | 是否通过 | 通过 | 
    
        | 代码语言 | 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;
}