比赛 20120619 评测结果 AAAAAAAAAA
题目名称 FBI序列 最终得分 100
用户昵称 Fmuckss 运行时间 0.003 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2016-04-22 11:06:47
显示代码纯文本
  1. #include<iostream>
  2. #include<cstdio>
  3. using namespace std;
  4. const int maxn = 2e3;
  5.  
  6. int f[maxn][4];
  7. char s[maxn];
  8. int n;
  9.  
  10. int get_line(char *a) {
  11. int i = 0;
  12. char tmp = getchar();
  13. while(tmp < 'A' || tmp > 'Z') tmp = getchar();
  14. while(tmp <= 'Z' && tmp >= 'A') {
  15. a[++i] = tmp;
  16. tmp = getchar();
  17. }
  18. return i;
  19. }
  20.  
  21. void read() {
  22. n = get_line(s);
  23. }
  24.  
  25. void solve() {
  26. for(int i = n; i >= 1; i--) {
  27. f[i][1] += f[i+1][1];
  28. f[i][2] += f[i+1][2];
  29. f[i][3] += f[i+1][3];
  30. if(s[i] == 'I') f[i][1]++;
  31. else if(s[i] == 'B') f[i][2] += f[i][1];
  32. else if(s[i] == 'F') f[i][3] += f[i][2];
  33. }
  34. printf("%d", f[1][3]);
  35. }
  36.  
  37. int main() {
  38. freopen("fbi.in", "r", stdin);
  39. freopen("fbi.out", "w", stdout);
  40. read();
  41. solve();
  42. return 0;
  43. }