Dart-a-Mania
Dart-a-Mania |
Description of the Game
飛鏢遊戲相當多種,其中一種是 301 ,每個玩家的分數 301 往下扣,直到第一個玩家的分數確切等於零則宣告勝利。每名玩家一次可以扔擲三枚飛鏢,例如當前玩家分數 272,而他三枚飛鏢得到 55 分,則他的新分數將會是 217。飛鏢將會射到靶上其中數字 1 到 20 的區域,如果得分為零,則表示玩家仍出靶外,或者玩家選擇不丟飛鏢。飛鏢丟入的區域分數會有三種,該編號的一倍、兩倍及三倍,例如:玩家可能或得分數 17, 34, 51 藉由仍擲到區域編號 17 的時候。而另外的得分則是擊中 BULLS EYE 將會得到 50 分。
如果得分大於當前分數,則不予計分,相當於分數不變。
Problem Statement
給一名玩家的當前分數,計算接下來三枚飛鏢可以使得分數恰好為 0 的組合與排列。程式應該要輸出組合的數量,以及排列的數量。排列與組合只看飛鏢的得分。
例如:當前玩家分數為 2,則組合有 2 種,排列方式則會有 3 種。第一種組合為,一次得分為 2,其餘兩次得分 0。第二種組合為,兩次得分為 1,剩餘一次得分為 0。
而六種排列方式如下:
- 排列編號 1 2 3 4 5 6
1st 飛鏢得分: 2 0 0 1 1 0 - 2nd 飛鏢得分: 0 2 0 1 0 1
- 3rd 飛鏢得分: 0 0 2 0 1 1
Input
測資最多有 999 筆,每筆測資會有一行一個整數表示當前玩家分數,讀到小於等於 0 的分數則終止程式。Output
對於每組測資輸出兩行或者三行,如果分數可以減到 0,輸出的格式如下:
NUMBER OF COMBINATIONS THAT SCORES x IS c.
NUMBER OF PERMUTATIONS THAT SCORES x IS p.
x 表示當前玩家得分,c 表示組合數,p 表示排列數。
如果沒有辦法減到 0,則輸出一行:
THE SCORE OF x CANNOT BE MADE WITH THREE DARTS.
對於每組輸出後,輸出 70 個 '*'。
程式結束前輸出一行 ``END OF OUTPUT"
Sample Input
162 175 2 68 211 114 -100
Sample Output
NUMBER OF COMBINATIONS THAT SCORES 162 IS 7. NUMBER OF PERMUTATIONS THAT SCORES 162 IS 28. ********************************************************************** THE SCORE OF 175 CANNOT BE MADE WITH THREE DARTS. ********************************************************************** NUMBER OF COMBINATIONS THAT SCORES 2 IS 2. NUMBER OF PERMUTATIONS THAT SCORES 2 IS 6. ********************************************************************** NUMBER OF COMBINATIONS THAT SCORES 68 IS 187. NUMBER OF PERMUTATIONS THAT SCORES 68 IS 1056. ********************************************************************** THE SCORE OF 211 CANNOT BE MADE WITH THREE DARTS. ********************************************************************** NUMBER OF COMBINATIONS THAT SCORES 114 IS 82. NUMBER OF PERMUTATIONS THAT SCORES 114 IS 445. ********************************************************************** END OF OUTPUT
Miguel Revilla
2000-08-31
沒有留言:
張貼留言