zoukankan      html  css  js  c++  java
  • 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.注意输出格式注意输出格式注意输出格式,重要的事说三遍。第一次没有注意前面有空格。 

  • 相关阅读:
    测试文件报告
    Bug Variations
    阶段一 问答题2
    阶段一 问答题1
    HeapSort
    Git系列 (01):git clone 速度太慢解决方法
    ES6系列 (03):链判断运算符和Null 判断运算符
    ES6系列 (02):解构赋值
    ES6系列 (01):箭头函数this指向问题
    我忘却了所有,抛却了信仰,舍弃了轮回,只为,那曾在佛前哭泣的玫瑰,早已失去旧日的光泽。
  • 原文地址:https://www.cnblogs.com/dddddd/p/6687213.html
Copyright © 2011-2022 走看看