• HDU1285 确定比赛名次


    Problem Description
    有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比 赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用 P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。
    Input
    输入有若干组,每组中的第一行为二个数N(1<=N<=500),M;其中N表示队伍的个数,M表示接着有M行的输入数据。接下来的M行数据中,每行也有两个整数P1,P2表示即P1队赢了P2队。
    Output
    给出一个符合要求的排名。输出时队伍号之间有空格,最后一名后面没有空格。
    其他说明:符合条件的排名可能不是唯一的,此时要求输出时编号小的队伍在前;输入数据保证是正确的,即输入数据确保一定能有一个符合要求的排名。
    Sample Input
    4 3 1 2 2 3 4 3
    #include <iostream>
    #include <algorithm>
    #include <cstring>
    #include <cmath>
    #include <queue>
    #include <vector>
    #include <cstdio>
    const int N=505;
    int degree[N],res[N];
    bool map[N][N];
    int n,m;
    void Topo()
    {
        int i,j,p;
        for(i=1;i<=n;i++)
        {
            p=-1;
            for(j=1;j<=n;j++)
            {
                if(degree[j]==0)
                {
                    degree[j]--;
                    res[i]=p=j;
                    break;
                }
            }
            for(j=1;j<=n;j++)
            {
                if(map[p][j]==true)
                {
                    map[p][j]=false;
                    degree[j]--;
                }
            }
        }
    }
    void output()
    {
        int i;
        printf("%d",res[1]);
        for(i=2;i<=n;i++)
        {
            printf(" %d",res[i]);
        }
        printf("
    ");
    }
    int main()
    {
        freopen("in.txt","r",stdin);
        int i,x,y;
        while(~scanf("%d%d",&n,&m))
        {
            memset(map,false,sizeof(map));
            memset(degree,0,sizeof(degree));
            memset(res,0,sizeof(res));
            for(i=1;i<=m;i++)
            {
                scanf("%d%d",&x,&y);
                if(map[x][y]==false)
                {
                    map[x][y]=true;
                    degree[y]++;
                }
            }
            Topo();
            output();
        }
        return 0;
    }
  • 相关阅读:
    git操作
    致橡树
    python 3.8 下安装 tensorflow 1.14
    TensorFlow
    内容充实丰富,情节引人入胜夺人眼球,后面的转折更是点睛之笔
    注册,监听,回调....
    技术,制度,文化
    协议 标准, 框架 ,规范
    ES数据同步方案
    成立思维课
  • 原文地址:https://www.cnblogs.com/d-e-v-i-l/p/4782968.html
Copyright © 2020-2023  润新知