1171: 零起点学算法78——牛牛(有错误)(已AC)

1171: 零起点学算法78——牛牛

Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld
Submitted: 951  Accepted: 437
[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

 
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

Source

 
 1 #include<stdio.h>
 2 #include<math.h>
 3 int main(){
 4     int t,a[5],o=0;
 5     scanf("%d",&t);
 6     while(t--){
 7         for(int i=0;i<5;i++){
 8             scanf("%d",&a[i]);
 9         }
10         o++;
11         int m=0,n=0,sum;
12         for(int i=0;i<3;i++){
13             for(int j=i+1;j<4;j++){
14                 for(int k=j+1;k<5;k++){
15                     if((a[i]+a[j]+a[k])%10==0){
16                         m=1;
17                         sum=0;
18                         for(int p=0;p<5;p++){
19                             if(a[p]!=a[i]&&a[p]!=a[j]&&a[p]!=a[k]) sum+=a[p];
20                         }
21                         if(sum%10==0) n=1;
22                     }
23                 }
24             }
25         }
26         if(m==0) printf("Case #%d: Mei Niu
",o);
27         else{
28             if(n) printf("Case #%d:Niu Niu
",o);
29             else printf("Case #%d:Niu %d
",o,sum%10);
30         }
31     }
32     return 0;
33 }

运行无错误,提交 wrong answer

 1 #include<stdio.h>
 2 int main(){
 3     int t,a[5];
 4     while(scanf("%d",&t)!=EOF){
 5             int o=0;
 6     while(t--){
 7         for(int i=0;i<5;i++){
 8             scanf("%d",&a[i]);
 9         }
10         o++;
11         int m=0,n=0,sum;
12         for(int i=0;i<3;i++){
13             for(int j=i+1;j<4;j++){
14                 for(int k=j+1;k<5;k++){
15                     if((a[i]+a[j]+a[k])%10==0){
16                         m=1;
17                         sum=0;
18                         for(int p=0;p<5;p++){
19                             if(a[p]!=a[i]&&a[p]!=a[j]&&a[p]!=a[k]) sum+=a[p];
20                         }
21                         if(sum%10==0) n=1;
22                     }
23                 }
24             }
25         }
26       if(m){
27         if(n){
28             printf("Case #%d: Niu Niu
",o);
29         }
30         else printf("Case #%d: Niu %d
",o,sum%10);
31       }
32       else printf("Case #%d: Mei Niu
",o);
33     }
34     }
35     return 0;
36 }

1.多组输入 尽量不要让程序自动结束。

2.注意输出格式注意输出格式注意输出格式,重要的事说三遍。第一次没有注意前面有空格。 

原文地址:https://www.cnblogs.com/dddddd/p/6687213.html