zoukankan      html  css  js  c++  java
  • HDU 2094解题报告

    刚学完set,准备做个简单题目实践一下。结果半天都WA。

    下面指出WA原因。

    方法是这样的,把所有输的赢的都插入a1,输的插入a2;

    那么如果最后name1-name2=1,则说明只有他没输过,能判断出冠军就是剩下的那个人。

     1 #include<iostream>
     2 #include<set>
     3 #include<string>
     4 using namespace std;
     5 int main()
     6 {
     7     int n;
     8     set<string> name1,name2;
     9     string a1,a2;
    10     while(cin>>n,n)
    11     {
    12         while(n--)
    13         {
    14              cin>>a1>>a2;
    15              name1.insert(a1);
    16              name1.insert(a2);
    17              name2.insert(a2);
    18         }
    19         if(name1.size()-name2.size()==1)
    20             cout<<"Yes"<<endl;
    21         else
    22             cout<<"No"<<endl;
    23     }
    24     return 0;
    25 }

    结果以上代码WA了。测试多次后,AC代码如下:

     1 #include<iostream>
     2 #include<set>
     3 #include<string>
     4 using namespace std;
     5 int main()
     6 {
     7     int n;
     8     set<string> name1,name2;
     9     string a1,a2;
    10     while(cin>>n,n)
    11     {
    12         while(n--)
    13         {
    14              cin>>a1>>a2;
    15              name1.insert(a1);
    16              name1.insert(a2);
    17              name2.insert(a2);
    18         }
    19         if(name1.size()-name2.size()==1)
    20             cout<<"Yes"<<endl;
    21         else
    22             cout<<"No"<<endl;
    23         name1.clear();
    24         name2.clear();
    25     }
    26     return 0;
    27 }

    由此可见,良好的编程习惯多么重要。

  • 相关阅读:
    一个有趣的C语言问题
    PHP 管理树莓派
    JeeSite | 保存信息修改记录封装
    SQL Server学习内容(一)
    Java面试题大汇总
    Spring框架快速入门
    单例模式
    简要分析一下java中线程的生命周期
    mybatis中的高级查询
    mybatis中的分页插件
  • 原文地址:https://www.cnblogs.com/ljwTiey/p/4268560.html
Copyright © 2011-2022 走看看