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 }

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

  • 相关阅读:
    二分图最大匹配的K&#246;nig定理及其证明
    HDOJ 2389 Rain on your Parade
    HDOJ 1083 Courses
    HDOJ 2063 过山车
    POJ 1469 COURSES
    UESTC 1817 Complete Building the Houses
    POJ 3464 ACM Computer Factory
    POJ 1459 Power Network
    HDOJ 1532 Drainage Ditches
    HDU 1017 A Mathematical Curiosity
  • 原文地址:https://www.cnblogs.com/ljwTiey/p/4268560.html
Copyright © 2011-2022 走看看