比赛 20120619 评测结果 AAAAAAAAAA
题目名称 FBI序列 最终得分 100
用户昵称 Fmuckss 运行时间 0.003 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2016-04-22 11:06:47
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
const int maxn = 2e3;

int f[maxn][4];
char s[maxn];
int n;

int get_line(char *a) {
	int i = 0;
	char tmp = getchar();
	while(tmp < 'A' || tmp > 'Z') tmp = getchar();
	while(tmp <= 'Z' && tmp >= 'A') {
		a[++i] = tmp;
		tmp = getchar();
	}
	return i;
}

void read() {
	n = get_line(s);
} 

void solve() {
	for(int i = n; i >= 1; i--) {
		f[i][1] += f[i+1][1];
		f[i][2] += f[i+1][2];
		f[i][3] += f[i+1][3];
		if(s[i] == 'I') f[i][1]++;
		else if(s[i] == 'B') f[i][2] += f[i][1];
		else if(s[i] == 'F') f[i][3] += f[i][2];
	}
	printf("%d", f[1][3]);
}

int main() {
	freopen("fbi.in", "r", stdin);
	freopen("fbi.out", "w", stdout); 
	read();
	solve();
	return 0; 
}