题意:
给你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; }