24. 多位玩家撲克牌十點半下注

莊家(電腦)與多位玩家進行撲克牌十點半比大小,每一位玩家在遊戲開始前需先下注。
遊戲開始時,莊家和每位玩家會各自拿到一張牌,接著每位玩家持續要牌,直到選擇停止要牌或是總點數大於等於10.5。若玩家總點數為10.5,則玩家獲勝且停止要牌,莊家須賠給該玩家下注的金額(莊家立賠)。若玩家總點數超過10.5,則玩家爆掉且停止要牌,下注金額歸莊家所有(玩家立賠)。
當前一位玩家要牌結束後換下一位玩家要牌,若全部玩家要牌結束後,全部玩家都已經爆掉或是總點數為10.5,則遊戲結束,否則換莊家要牌。當莊家總點數小於未爆掉玩家中的最小點數時,需持續要牌。若莊家總點數為10.5,則莊家停牌,未爆掉的玩家須賠給莊家自己下注的金額(玩家立賠),遊戲結束。若莊家總點數超過10.5,則莊家爆掉,莊家停牌且莊家須賠給未爆掉的玩家下注的金額(莊家立賠),遊戲結束。
若莊家未爆掉且總點數大於所有未爆掉玩家中的最小點數,則莊家停牌,莊家與未爆掉的玩家比較點數,較大者勝。若點數相同則視為莊家勝,最後輸出各玩家與莊家的賺賠情況。(賺以正號表示,賠以負號表示)。
 
點數:
    牌面A~10 點數為 1~10,J, K, Q 為 0.5。
 
規則:
1.每位玩家輸入下注的金額
2.電腦和每一位玩家先各要一張牌
3.任一位玩家持續要牌,可以選擇停止要牌。
4.任一位玩家總點數超過10.5,則該玩家爆掉並停止要牌,玩家須賠給莊家自己下注的金額(玩家立賠)。
5.任一位玩家總點數為10.5,則該玩家停止要牌,電腦須賠給該玩家當初所下注的金額(電腦立賠)。
6.當一位玩家停止要牌後換下一位玩家,直到所有玩家都要牌結束。
7.若所有玩家都已有結果(皆爆掉或是總點數為10.5),則遊戲結束,否則換電腦要牌。
8.若電腦總點數小於未爆掉的玩家中的最小點數,則持續要牌。
9.若電腦總點數等於10.5,則電腦停止要牌,未爆掉的玩家須賠給莊家自己下注的金額(玩家立賠),遊戲結束。
10.若電腦總點數超過10.5,則電腦爆掉,電腦停止要牌,電腦須賠給所有未爆掉的玩家所下注的金額(電腦立賠),遊戲結束。
11.若電腦總點數大於未爆掉的玩家中的最小點數,電腦停止要牌,電腦將與所有未爆掉的玩家比較點數。若電腦的點數大於等於玩家點數為電腦勝,玩家所下注的金額歸電腦所有。若電腦的點數小於玩家點數為玩家勝,電腦需賠給玩家所下注的金額。當全部比較完畢後,遊戲結束。
12.遊戲結束後,輸出電腦和各玩家的賺賠情況(賠以負號表示,賺以正號表示)。
 
注意:
點數未爆掉:總點數 <=10.5
點數爆掉 : 總點數 > 10.5
玩家立賠 : 未爆掉的玩家須賠給電腦當初自己所下注的金額。
例子: 假設玩家當初下注的金額為5,最後手上的牌點數總和為9,而電腦最後手上的牌點數總和為10,所以玩家立賠(玩家 -5,電腦 + 5)
 
電腦立賠 : 電腦須賠給該未爆掉的玩家當初所下注的金額。
例子 : 假設玩家當初下注的金額為5,最後手上的牌點數總和為10.5,則電腦立賠(玩家 +5,電腦 -5)
 
【輸入說明】
第1行: 輸入一個整數N(1<=N<=3),表示玩家的個數 。
第2行: 輸入N個整數,表示各個玩家下注的金額,中間以空白隔開。
第3行: 輸入一行字串,包含N+1張牌面,第1張牌面為電腦的第1張牌,其後N張表示N個玩家的第1張牌。每張牌面以空白隔開。
所有玩家要牌過程:從第一位玩家開始要牌,若玩家要牌。輸入一字串包含"Y"和點數,中間以空白隔開。若爆掉或點數等於10.5則換下一位玩家,若玩家想停止要牌。輸入一字串"N",換下一位玩家開始要牌
當最後一位玩家結束要牌後:當所有玩家停止要牌,如果莊家點數小於未爆掉玩家中的最小點數,換莊家要牌,若莊家要牌,輸入一整數M。如果莊家點數小於未爆掉玩家中的最小點數,繼續要牌,否則停止要牌並輸入結束)
 
輸入範例說明:
3 (玩家個數)
2 10 5 (每一位玩家的下注金額)
3 Q 3 10 (電腦和每一位玩家獲得第一張牌)
Y 2 (第一位玩家選擇要牌,玩家獲得2,目前總點數2.5)
Y 7 (第一位玩家選擇要牌,玩家獲得7,目前總點數 9.5)
N (第一位玩家停止要牌)
Y 8 (第二位玩家選擇要牌,玩家獲得8,目前總點數11爆掉,玩家立賠並無法再要牌)
Y Q (第三位玩家選擇要牌,玩家獲得Q,目前總點數10.5,電腦立賠)
7 (電腦總點數3,小於未爆掉玩家中的最小點數9.5,要牌獲得7,目前總點數10,大於未爆掉玩家的最小點數9.5,遊戲結束)
 
 
【輸出說明】
第一行: 輸出第一位玩家名字(Player1)和賺賠情況
第N行: 輸出第N位玩家名字(PlayerN)和賺賠情況
第N+1行: 輸出電腦名字(Computer)和賺賠情況
 
輸出範例說明:
Player1 -2 (此時Player1點數為9.5,Computer為10,Player1賠2)
Player2 -10 (此時Player2點數為0,Computer為10,Player2賠10)
Player3 +5 (此時Player3點數為10.5,Computer為10,Player3賺5)
Computer +7 (Computer收到Player1(+2)、Computer收到Player2(+10)、Computer賠給   Player3(-5),最後獲利+7)
 
【測試資料一】
 
輸入:
2
2 8
10 A 6
Y 9
N
Y 3
N
 
輸出:
Player1 -2
Player2 -8
Computer +10
 
【測試資料二】
 
輸入:
3
8 5 4
A 2 3 4
Y 9
Y 6
N
Y 8
9
 
輸出:
Player1 -8
Player2 -5
Player3 -4
Computer +17
 
【測試資料三】
 
輸入:
3
4 5 6
8 10 9 8
N
N
N
A
 
輸出:
Player1 +4
Player2 -5
Player3 -6
Computer +7
 
【測試資料四】
 
輸入:
3
3 2 5
5 8 10 7
Y Q
Y 2
Y A
Y 2
N
4
K
 
輸出:
Player1 +3
Player2 -2
Player3 -5
Computer +4
 
【測試資料五】
 
輸入:
3
8 2 7
A 7 6 3
Y 3
N
Y 4
N
Y 7
N
3
2
8
 
輸出:
Player1 +8
Player2 +2
Player3 +7
Computer -17
 
【測試資料六】
 
輸入:
3
2 3 4
3 4 5 6
Y Q
Y 6
Y 3
Y 2
Y J
Y 4
Y K
 
輸出:
Player1 +2
Player2 +3
Player3 +4
Computer -9
 
【測試資料七】
 
輸入:
3
5 10 15
8 9 10 7
Y 2
Y Q
Y 3
N
2
Q
 
輸出:
Player1 -5
Player2 +10
Player3 -15
Computer +10
 
【隱藏測試資料一】
 
輸入:
2
3 4
10 J 8
Y 9
N
Y 2
N
 
輸出:
Player1 -3
Player2 -4
Computer +7
 
【隱藏測試資料二】
 
輸入:
3
6 7 2
7 A 5 9
Y 9
Y 2
Y 3
N
Y 4
2
 
輸出:
Player1 -6
Player2 -7
Player3 -2
Computer +15
 
【隱藏測試資料三】
 
輸入:
3
4 5 6
2 8 9 10
N
N
N
3
4
 
輸出:
Player1 -4
Player2 -5
Player3 +6
Computer +3
 
【隱藏測試資料四】
 
輸入:
2
3 2
5 4 6
Y 3
Y 2
N
Y 4
Y Q
2
3
 
輸出:
Player1 -3
Player2 +2
Computer +1
 
【隱藏測試資料五】
 
輸入:
2
4 7
6 3 2
Y 6
Y Q
N
Y 5
Y 3
N
5
 
輸出:
Player1 +4
Player2 +7
Computer -11
 
【隱藏測試資料六】
 
輸入:
3
7 9 15
5 8 2 Q
Y 2
Y J
Y 8
Y K
Y 10
 
輸出:
Player1 +7
Player2 +9
Player3 +15
Computer -31
 
【隱藏測試資料七】
 
輸入:
3
15 20 25
6 4 8 10
Y Q
Y 6
Y 3
N
4
Q
 
輸出:
Player1 +15
Player2 -20
Player3 -25
Computer +30