hihocoder1258(水)(2015ACM/ICPC北京站)

题意:

给你B,C,S三种模式,当出现S时直接得分最多300(即perfect)

当是B,C时后面会跟一个数字,当后面的数字是从1开始的连续时,直接得分最多300(即perfect)

问给你一系列,最多能得到多少个pefect


思路:

当出现S时直接+,当出现B或者C时,判断它们后面是否有1,有则+

做的时间想复杂了- -


#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;
const int maxn = 10005;
const int INF = 0x3f3f3f3f;
char ch;
int tt;
int vis[10005];
char last;
int main()
{
    int n;
    while(scanf("%d",&n) != EOF)
    {
        int ans = 0;
        int num;
        int i;
        memset(vis,0,sizeof(vis));
        for(i = 1; i <= n; i++)
        {
            getchar();
            scanf("%c",&ch);
            if(ch == 'S')
                ans++;
            else
            {
                scanf("%d",&num);
                if(num == 1)
                    ans ++;
            }
        }
        printf("%d
",ans);
    }
    return 0;
}

  

原文地址:https://www.cnblogs.com/Przz/p/5409675.html