zoukankan      html  css  js  c++  java
  • hdu 2094 产生冠军

    http://acm.hdu.edu.cn/showproblem.php?pid=2094

    思路:

    冠军只有一个,并且冠军没有被打败。

    也就是说,记录下选手是否被打败过,如果最后只剩下一个人没有被打败,就能产生冠军,否则就不能。

    代码和解析如下:

    #include<iostream>
    #include<algorithm>
    #include<string>
    #include<vector>
    
    using namespace std;
    
    struct node
    {
        string s;
        int fail;                //fail为1表示被打败过,为0表示没有被打败过
    };
    
    int main()
    {
        int n,flag1,flag2;
        vector<node> s0;
    
        while (cin>>n &&n!=0)
        {
            s0.clear();                //注意每次都要清零
            for (int i=0; i<n; i++)
            {
                struct node s1,s2;
                cin>>s1.s>>s2.s;
                flag1=flag2=0;
                for(int j=0;j<s0.size();j++)
                {
                    if(s0[j].s==s1.s)                
    flag1
    =1; if(s0[j].s==s2.s) //如果已经记录过输的选手的信息,则将他标记为输 { flag2=1; s0[j].fail=1; } if(flag1==1&&flag2==1) break; } if(flag1==0) //如果没有记录过赢的选手的信息,则保存在向量中,暂且标记为赢
    {
    s1.fail=0;
              s0.push_back(s1);
           }
    if(flag2==0) //如果没有记录过输的选手的信息,则保存进向量,并将他标记为输 { s2.fail=1; s0.push_back(s2); } } int count=0,i; for(i=0;i<s0.size();i++) { if(s0[i].fail==0) count++; } if(count==1) cout<<"Yes"<<endl; else cout<<"No"<<endl; } return 0; }
  • 相关阅读:
    mybatis逆向工程
    fastdfs搭建和使用
    solr学习笔记
    自己搭建anki服务器
    redis总结
    java基础——队列
    遍历文件夹下的文件,并且获取文件名字
    xls到xml
    xls文件导入数据库
    PyCharm怎样添加Qt designer
  • 原文地址:https://www.cnblogs.com/yaoyueduzhen/p/4338010.html
Copyright © 2011-2022 走看看