7-103 牛几 (10 分)
“斗牛”是一种简单的纸牌游戏,玩法如下:对于一副扑克牌,保留A(作为1)、2~10这些牌面的牌;然后每人发5张牌,计算出是牛几(任取3张牌面累加凑成10的倍数,设剩下2张牌面加起来的和S,若S为10的倍数则为双牛,否则用S(S小于10的情况)或用S减去10(S大于10的情况)的结果确定,例如,牌面4 3 4 6 10时,为牛7),然后比谁的牛大,大者胜,小者负,否则为和局。现在给你5张牌,请你算出是牛几。
输入格式:
首先输入一个整数T(1<=T<20),表示测试组数。 每组测试输入5个整数(范围为1到10,可以重复,其中1表示牌面为A),数据之间以一个空格分隔。
输出格式:
对于每组测试,在一行上输出一个整数表示牛几,若双牛则输出10,若无牛则输出0。
输入样例:
1. 2 2. 8 1 4 6 7 3. 4 3 4 6 10
输出样例:
0 7
#include<iostream> using namespace std; int main(){ int n,i,sum=0; int a,b,c,d,z; cin>>n; for(i=0;i<n;i++){ cin>>a>>b>>c>>d>>z; if((a+b+c)%10==0) sum=(d+z); else if((a+b+d)%10==0) sum=c+z; else if((a+b+z)%10==0) sum=c+d; else if((a+c+d)%10==0) sum=b+z; else if((a+c+z)%10==0) sum=b+d; else if((a+d+z)%10==0) sum=b+c; else if((b+c+d)%10==0) sum=a+z; else if((b+c+z)%10==0) sum=a+d; else if((b+d+z)%10==0) sum=a+c; else if((c+d+z)%10==0) sum=a+b; else sum=0; if(sum>10&&sum<20) sum%=10; if(sum==20) sum=10; cout<<sum<<endl; } return 0; }