题目描述
在中国传统的牌类游戏中蕴含了很多有意思的数学问题,斗牛就是一种有趣的扑克牌游戏,参与斗牛的玩家每回合会得到五张扑克牌,每张牌可能是A、2、3、4、5、6、7、8、9、10 、J、 Q、 K中的任意一张,这些牌分别代表一个数,就是其本身,对于特殊的牌,我们规定A代表1,J、Q、K和10是等价的,玩家拿到五张牌后,可以任意取三张牌,如果三张牌的点数相加为10或者10的倍数(比如20或者30),即说明该玩家有牛。在有牛的前提下,剩下的两张牌相加即为玩家的最终点数,点数总共有牛1、牛2…牛10这样十种情况,点数越大越好(即牛1最小,牛10最大),两张牌的点数相加若超过10,则只取个位数,比如 3和8,则该玩家点数为牛1。如果构成10或者10的倍数,即都视为牛10,比如 5和5、10和10、10和J,这三种情况均为牛10。
为了简化题目输入输出,我们只取1到10这10种数值的牌。此外,为了增加游戏的趣味性,我们增加鬼牌,拿到鬼牌的玩家可以将其作为1-10之间的任意点数的牌,在题目中,用0来表示鬼牌。
输入
输入的第一行包含一个整数
T (
T > 0),表示一共有
T组测试数据。
对于每组测试数据,只有一行,包含五个整数a,b,c,d,e (0<=a,b,c,d,e<=10),数字之间用空格分开。
输出
对于每组测试数据,若玩家没有牛,则输出-1,若玩家有牛,输出一个正整数代表玩家能够凑成的最大点数。
样例输入
5
3 5 1 4 8
4 8 8 3 6
3 7 1 4 1
0 2 5 6 7
0 2 5 3 7
样例输出
1
9
-1
9
10
5
3 5 1 4 8
4 8 8 3 6
3 7 1 4 1
0 2 5 6 7
0 2 5 3 7
样例输出
1
9
-1
9
10
实现代码:
package ACM;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class BlueGame {
private int T;
private String temp;
private static int N =10;
List<Integer> result =new ArrayList<Integer>();
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class BlueGame {
private int T;
private String temp;
private static int N =10;
List<Integer> result =new ArrayList<Integer>();