问题 4588 --D、保龄球计分

4588: D、保龄球计分

时间限制: 1 Sec  内存限制: 128 MB
提交: 0  解决: 0
[提交][状态][讨论版][命题人:]

题目描述

 保龄球是一种持球者把球朝着球道上排成正三角形的十个球瓶用滚动的方式击倒的运动。

保龄球记分单位是局,每局共有十个计分格。
除了第十个计分格,每个计分格最多有两次投球的机会。
若第一次投球就打倒全部球瓶,那该次的记分格就记strike(全倒,用X记录),结束该计分格。
如果击出strike,则该计分格的分数为10分再加上后面两次丢球所打倒的球瓶个数。
若第一次没有全倒,则可以再投第二次,第二次投球结束后,结束该计分格。第二次投球可能出现下面三种情况:
一、把剩下的球瓶都击倒就记spare(补中,用/表示),如第一次打中3个,第二次将余下的7个球瓶打倒,则记分格记为3/;第一次打中0个,第二次全中则记为0/。如果击出spare,则该计分格的分数为10分再加上后面一次丢球所打倒的球瓶个数。
二、只击倒一部分球,如第一次打中0个球瓶,第二次打中9个,则记09。
三、一个也没有击中,记录符号为-,如第一次打中8个球瓶,第二次打中0个,则记8-。
凡是没有补中,则该计分格的所得分数为两次丢球共击倒瓶子个数。
第十个计分格与前九个计分格不同:
若首次丢球打出全中,则可以追加两次丢球,追加的第一次丢球若打出全中,则追加的第二次丢球依然可以尝试打十个球。追加的第一次若投球没有打出全中,则追加的第二次只能尝试打第一次追加丢球后剩下的瓶子。
若打出补中,则只可以追加一次丢球。
若没有补中,第十个计分格得分为两次丢球共击倒球瓶个数。
追加丢的球仅仅是为了第十个计分格的得分可以像之前的计分格得分的计算方法得到,不单独计分。
你的任务就是根据一局击球的记录串,求得该局比赛的最终总分,就是每个计分格的得分总和。

输入

 输入若干行,每行为一个运动员在一局比赛中投球的符号记录。保证输入的记录串是合法的,不必再检查,串中只会出现0到9的数字、减号(-)、左斜杠(/)、大写X,按次给出,不分格子。输入的串长度最多为21。当输入为END时,结束程序。

输出

 对应每一行输入的记录串,输出一个小于等于300的正整数,为一局比赛总得分。

样例输入

XXXXXXXXXXXX
0-0-0-0-0-0-0-0-0-0-
0-0-0-0-0-0-0-0-0-XXX
7/3-0-0-0-0-0-0-0-0-
END

样例输出

300
0
30
16

提示

 要注意“次”与“格”的区别。


来源

[提交][状态]