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 }

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

  • 相关阅读:
    Excel 常用函数
    Excel中使用VBA访问Access数据库
    Python 日期和时间戳的转换
    tensorflow中命名空间、变量命名的问题
    Git:一个简单示例
    Pyhon中运算符的使用
    python中模块包的离线下载教程
    python中的进制转换
    python几种常见的模块安装方法
    python中的模块调用
  • 原文地址:https://www.cnblogs.com/ljwTiey/p/4268560.html
Copyright © 2011-2022 走看看