比赛 |
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;
}