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

    题意:给出n对选手姓名,每对表示前者赢后者,求整场比赛是否有冠军;

    思路:将名字用数字表示,离散化。然后就是裸裸的拓扑排序。仅仅需推断初始时入度为0的是否唯一;

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int n,m,i,j,k,con;
    int mm[1001][1001],indegree[500010];
    char s1[500010],s2[500010],match[1001][101],pos1,pos2;
    void tuopu()
    {
        int i,j,k;
        int c=0;
        for(i=0;i<con;i++)
        {
            if(indegree[i]==0) c++;
        }
        if(c==1) printf("Yes
    ");
        else printf("No
    ");
    }
    int main()
    {
        while(scanf("%d",&n)!=EOF)
        {
            if(n==0) break;
            con=0;
            memset(s1,0,sizeof(s1));
            memset(s2,0,sizeof(s2));
            memset(match,0,sizeof(match));
            memset(indegree,0,sizeof(indegree));
            memset(mm,0,sizeof(mm));
            for(i=0;i<n;i++)
            {
                scanf("%s%s",s1,s2);
                for(j=0;j<con;j++)
                {
                    if(strcmp(match[j],s1)==0)
                    {
                        pos1=j;
                        break;
                    }
                }
                if(j==con) strcpy(match[con++],s1),pos1=con-1;
                for(j=0;j<con;j++)
                {
                    if(strcmp(match[j],s2)==0)
                    {
                        pos2=j;
                        break;
                    }
                }
                if(j==con) strcpy(match[con++],s2),pos2=con-1;
                if(!mm[pos1][pos2])
                {
                    mm[pos1][pos2]=1;
                    indegree[pos2]++;
                }
            }
             tuopu();
        }
        return 0;
    }
    


  • 相关阅读:
    venv(virtual environment)的使用
    Pytest 失败重运行机制
    Python 中方法和函数的区别
    手机移动端WEB资源整合
    Sass学习日志
    1、vue基础使用复习
    vscode配置笔记
    vue兼容IE浏览器、对低版本IE下的友好提示
    关闭eslint校验
    vue实现吸顶的效果
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/6717820.html
Copyright © 2011-2022 走看看