2013年6月30日 星期日

2013/6/30 TIOJ 1016 B.Baseball Game

// http://218.210.35.237:8080/JudgeOnline/showproblem?problem_id=1016
#include<iostream>
#include<cstdio>
using namespace std;
char game[10000];
int main()
{
    int score[2], base[4], s, now;
    while( scanf("%s", &game)!=EOF )
    {
        score[0] = score[1] = 0;
        s = now = 0;
        for(int i = 0; i < 18; i++)
        {
            int out = 0;
            for(int j = 1; j <= 3; j++) base[j] = 0;
            while( out < 3 )
            {
                if( game[now] == 'O' || game[now] == 'K'){ out++; }
                if( game[now] == 'W' )
                {
                    base[1]++;
                    if( base[1] > 1 ){ base[1] = 1; base[2]++; }
                    if( base[2] > 1 ){ base[2] = 1; base[3]++; }
                    if( base[3] > 1 ){ base[3] = 1; score[s]++; }
                }  
                if( game[now] == 'S' )
                {
                    score[s] += base[3];
                    base[3] = base[2];
                    base[2] = base[1];
                    base[1] = 1;
                }
                if( game[now] == 'D' )
                {
                    score[s] += base[3]+base[2];
                    base[3] = base[1];
                    base[2] = 1;
                    base[1] = 0;
                }
                if( game[now] == 'T' )
                {
                    score[s] += base[3]+base[2]+base[1];
                    base[3] = 1;
                    base[2] = 0;
                    base[1] = 0;
                }
                if( game[now] == 'H' )
                {
                    score[s] += base[3]+base[2]+base[1]+1;
                    base[3] = 0;
                    base[2] = 0;
                    base[1] = 0;
                }
                now++;
            }
            s = 1 - s;
        }
        printf("%d %d\n", score[0], score[1]);
    }
}

沒有留言:

張貼留言