7-21 牛几
全屏浏览
切换布局
作者 黄龙军
单位 绍兴文理学院
“斗牛”是一种简单的纸牌游戏,玩法如下:对于一副扑克牌,保留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。
输入样例:
2
8 1 4 6 7
4 3 4 6 10
输出样例:
0
7
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
参考答案:
#include<stdio.h>
int main()
{int a,b,c,d,e,f,i,j,o,g[5];
scanf("%d",&a);
for(i=0;i<a;i++)
{o=0;
for(j=0;j<5;j++)
scanf("%d",&g[j]);
for(b=0;b<5;b++)
{for(c=0;c<5;c++)
{if(c==b)continue;
for(d=0;d<5;d++)
{if(d==c||d==b)continue;
for(e=0;e<5;e++)
{ if(e==c||e==d||e==b)continue;
for(f=0;f<5;f++)
{if(f==b||f==c||f==d||f==e)continue;
if((g[b]+g[c]+g[d])%10==0)
{if((g[e]+g[f])%10==0){printf("10\n");b=5;c=5;d=5;e=5;f=5;o=1;}
else {printf("%d\n",(g[e]+g[f])%10);b=5;c=5;d=5;e=5;f=5;o=1;}
}}}}}}
if(o==0)printf("0\n");}
return 0;
}