比赛 20120619 评测结果 C
题目名称 FBI序列 最终得分 0
用户昵称 11111111 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2012-06-19 21:01:46
显示代码纯文本
#include<stdio.h>
#include<iostream>
#include<stdlib.h>
#include<fstream>
using namespace std;
int main()
{
	ifstream fin("fbi.in");
	ofstream fout("fbi.out");
    char t[2010];
    int f[2010]={0};   
    int b[2010]={0};  
    int i[2010]={0};  
    int j;
	memset(f,0,sizeof(f));
	memset(b,0,sizeof(b));
	memset(i,0,sizeof(i));
	for (int k=1;k<=2010;k++)
	{
		fin>>t[k];
		if (t[k]!='F'&&t[k]!='B'&&t[k]!='I'&&t[k]!='O') 
			break;
	}
	
    for(j=0;t[j];j++)
    {
		if(t[j]=='F')
			{
				if(j)
					f[j]=f[j-1]+1;
				else
					f[j]=1;
			}
			else
				f[j]=f[j-1];
	}
    for(j=1;t[j];j++)
    {
		if(t[j]=='B')
			b[j]=f[j-1]+b[j-1];
		else
			b[j]=b[j-1];
    }
    for(j=1;t[j];j++)
    {
		if(t[j]=='I')
			i[j]=b[j-1]+i[j-1];
		else
			i[j]=i[j-1];
	}
	fout<<i[j-1];
	fin.close();
	fout.close();
    return 0;
}