hdu_2094(产生冠军)+set应用及其重点注意


#include
using namespace std;
int main(){
     
    set<string> A, B;                        //定义集合
    string s1, s2;
    int n;
    while(cin >> n && n){
     
        for(int i=0; i<n; i++) {
     
            cin >> s1 >> s2;
            A.insert(s1);  A.insert(s2);   //所有人放进集合A
            B.insert(s2);                     //失败者放进集合B
        }
        if(A.size() - B.size() == 1)
            cout << "Yes" << endl;
        else
            cout << "No" << endl;
        A.clear(); B.clear();
    }
    return 0;
}

  1. 首先要注意yes和no的书写,要不然经常出现AC不了的情况
  2. 而且要写 A.clear(); B.clear();
  3. if(A.size() - B.size() == 1) 只有这一种结果可以
  4. !=1都不行
  5. while(n–)不行,而是for来控制

你可能感兴趣的:(hdu,算法,数据结构)