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