问题 4607 --1.保龄高手

4607: 1.保龄高手

题目描述

   小 H 不会打保龄球,所以每次在保龄球馆里只能看着别人打个一百两百分直流口水。一次小 H碰到一个同学,此人说他一局可以打上 2XX分使得小 H羡慕不已。 
后来回家转念一想觉得有问题——这分数能打出来吗?他决定请你编一个程序来判断。  
保龄球的规则如下: 
1. 每一局由 10轮组成, 10轮的总分即为这一局的得分; 球道的一侧摆放着 10个木瓶, 你从球道的另一侧投掷保龄球。每一次投掷撞到的瓶子数为这次投掷的“应得分” ;所以,每一轮的“应得分”就是这一轮击倒的瓶子总数。每一轮的“应得分”与下文所提及的“奖励分” (如果有得到,否则奖励分为 0)之和为该轮的总分。 
2. 在第 1至 9轮中,先投出一个球,若球把 10个木瓶全部撞到,则记为“全中” ,此轮结束;否则对剩下的木瓶再投掷一次,若剩下的瓶全倒,记为“补中” ,此轮结束;
若剩下的瓶没有全倒,此轮也结束。每一轮结束后都重置木瓶。 
3. 10 轮比较特别:先投出一个球。 
(1)  若此球全中,则重置木瓶,再投一次。若全中,则再次重置木瓶后再投一次,此轮结束;若没有全中,则对剩下的瓶再投一次,此轮结束。 
(2)  若没有全中,则对剩下的瓶再投一次。若补中,则再次重置木瓶后再投一次,此轮结束;若没有补中,此轮一样结束。 
4. 1-9轮的奖励分:若当轮为全中,应奖励下两个球所击倒的瓶子总数(若下轮也是全中,则奖励 10 分加上下一个球的击倒的瓶子数;否则奖励下轮的“应得分” ) 。
若当轮为补中,应奖励下一个球的(注意,不是下一轮)击倒的瓶子数。本轮奖励分与本轮应得分之和即为本轮总分。 
5. 第 10 轮无奖励分,得分即为当轮的应得分。 

输入

仅一个数 N,为小 H的同学所说的他打出来的分数。 

输出

若不能,则输出“You were cheated! ” ; 
若可以,则输出任意一种可以打出这个分数的方案,其中每一轮都用 3个字符表示。如果某一球得分为 0,则用字符“_”表示。若为全中,则为“X”后面两个空格;补中,则先输出第一个球的得分,再补上“/”符号和一个空格;否则即按顺序输出两个球的得分(注意,中间不要空格)和一个空格。 

样例输入输出

输入#1 复制
173
输出#1 复制
X  9/  35  1/  X  X  X  8/  _4  8/X  (注意,每一轮都只占 3 个字符)
(每轮的得分分别为 20、13、8、20、30、28、20、10、4、20) 
输入#2 复制
191
输出#2 复制
__   X   X  X   9/   8/  X  X   63  X6/    (注意, 第 1轮的两次投掷都没有撞倒木瓶)  
    (每轮的得分分别为 0、30、29、20、18、20、26、19、9、20)

提示

序号 标题 作者 发表时间 费用 订购数 操作