#3088. KKT基本算法304保龄球

KKT基本算法304保龄球

Description

保龄球游戏,打保龄球是用一个滚球去打击十个站立的柱,将柱击倒,一局分十轮,每轮可以滚球一次或两次,以击倒的柱数为依据计分,一局得分为十轮得分之和,而每轮的得分不仅与本轮的滚球情况有关,还可能与后续一两轮的滚球情况有关。即某轮某次滚球击倒的柱数不仅要计入本轮得分,还可能计入前一两轮的得分,具体的滚球计柱规则和计分方法如下:

(1)某一轮的第一次滚球就击倒全部十个柱,则本轮不再滚球(若是第十轮,则还需另加两次滚球,不妨称其为第十一轮和第十二轮,并不是所有的情况都需要滚第十一轮和第十二轮),该轮得分为本次击倒的柱数10,与以后两次滚球所击倒的柱数之和。
(2)如某一轮的第一次滚球未击倒十个柱,则可对剩下未击倒的柱再滚一次。如果这两次滚球击倒全部十个柱,则本轮不再滚球(若是第十轮则还需另加一次滚球),该轮得分为这两次共击倒柱数10与以后一次滚球所击倒柱数之和。
(3)若某一轮两次滚球未击倒全部十个柱,则本轮不再继续滚球,该轮得分为这两次滚球击倒的柱数之和。

总之,若某一轮中一次滚球或两次滚球击倒十个柱,则本轮得分是本轮首次滚球开始的连续三次滚球击倒柱数之和(其中有一次或两次不是本轮滚球)。若一轮内二次滚球击倒柱数不足十个,则本轮得分即为这两次击倒柱数之和。下面以实例说明如下:

轮       1      2      3      4      5       6       7       8      9     10      11      12

击球情况      /       /       /     72     9/      81     8/       /      9/      /        8/

各轮得分     30   27    19     9      18      9      20    20     20    20

累计总分     30   57    76     85   103   112   132  152   172  192

现在请编写一个保龄球计分程序,用来计算并输出最后的总分。

Input Format

输入一行,为前若干轮的滚球结果,每轮滚球结果用一到两个字符表示,每一个字符表示一次击球,各轮结果之间用一个空格分隔。字符“/”表示击倒当前球道上的全部的柱,否则用一个数字字符表示本次滚球击倒的当前球道上的柱的数目,两轮滚球之间用一个空格隔开。

Output Format

输出一行一个整数,代表最后的得分。

90 90 / 9/ 81 / / / 72 / / 0
170