1171: 零起点学算法78——牛牛
1171: 零起点学算法78——牛牛
Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 1524 Accepted: 706
[Submit][Status][Web Board]
Description
牛牛是一种纸牌游戏,总共5张牌,规则如下:
如果找不到3张牌的点数之和是10的倍数,则为没牛;
如果其中3张牌的点数之和是10的倍数,则为有牛,剩下两张牌的点数和对10取余数,余数是几,就是牛几,特别的当余数是0的时候是牛牛;
例如: 1 2 3 4 5, 1 + 4 + 5 = 0 (mod 10),2 + 3 = 5(mod 10), 为牛5。
Input
第一行输入一个整数T(T <= 100),表示有几组数据。每组数据占一行,5 个数, 每个数的范围都是1到10。
Output
见样例。
Sample Input ![](http://acm.wust.edu.cn/image/copy.gif)
3
1 1 1 1 1
1 2 3 4 5
1 9 10 10 10
Sample Output
Case #1: Mei Niu Case #2: Niu 5 Case #3: Niu Niu
参考代码:
1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #include<ctype.h> 5 #include<math.h> 6 7 int main() 8 { 9 int n; 10 scanf("%d",&n); 11 12 if(n>100) 13 { 14 return 0; 15 } 16 17 //getchar(); 18 for(int l=0; l<n; l++) 19 { 20 int num[5],numflag[5]; 21 int flag1=0,flag2=0,sum=0,i1=0; 22 23 for(int i=0; i<5; i++) 24 { 25 scanf("%d",&num[i]); 26 } 27 28 for(int i=0; i<=2; i++) 29 { 30 for(int j=i+1; j<=3; j++) 31 { 32 for(int k=j+1; k<=4; k++) 33 { 34 if((num[i]+num[j]+num[k])%10==0) 35 { 36 flag1=1; //有牛标志 37 sum=0; 38 for(i1=0; i1<=4; i1++) 39 { 40 if(i1!=i && i1!=j && i1!=k) 41 { 42 sum+=num[i1]; 43 } 44 } 45 if(sum%10==0) 46 { 47 flag2=1; //牛牛标志 48 } 49 } 50 } 51 } 52 } 53 54 if(flag1) 55 { 56 if(flag2) 57 { 58 printf("Case #%d: Niu Niu\n",l+1); 59 } 60 else 61 { 62 printf("Case #%d: Niu %d\n",l+1,sum%10); 63 } 64 } 65 else 66 { 67 printf("Case #%d: Mei Niu\n",l+1); 68 } 69 70 } 71 return 0; 72 }