zoukankan      html  css  js  c++  java
  • hdu 1285 确定比赛名次(拓扑排序)

    hdu 1285 确定比赛名次

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

    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
     

    Sample Output
    1 2 4 3

    ac代码:(拓扑排序,用邻接链表解)

    #include<iostream>
    using namespace std;
    struct CTNode 
    {
     int n;
     CTNode *next;
     CTNode(){n=0;next=NULL;}
    };
    struct LNode
    {
     int num;
     CTNode *next;
     LNode(){num=0;next=NULL;}
    };
    int main()
    {
     int n,m,p1,p2;
     while(~scanf("%d%d",&n,&m))
     {
      CTNode * p, * r;
      LNode node[510];
      while(m--)
      {
       scanf("%d%d",&p1,&p2);
       node[p2].num++;
       if(node[p1].next==NULL)
       {
        p=(CTNode *)malloc(sizeof(CTNode));
        p->n=p2;
        p->next=NULL;
        node[p1].next=p;
        continue;
       }
       p=node[p1].next;
       while(p->next)
        p=p->next;
       p->next=(CTNode *)malloc(sizeof(CTNode));
       p->next->n=p2;
       p->next->next=NULL;
      }
      int i,j,flag=0;
      for(j=1;j<=n;j++)
       for(i=1;i<=n;i++)
       {
        if(node[i].num==0)
        {
         p=node[i].next;
         while(p)
         {
          node[p->n].num--;    
          p=p->next;
         }
         if(!flag)
          printf("%d",i);
         else
          printf(" %d",i);
         flag=1;
         node[i].num--;
         break;
        }
       }
      printf("\n");
     }
     return 0;
    }

  • 相关阅读:
    UICollectionView下拉使header放大模糊
    odoo13下searchpanel进行扩展.
    (原创)odoo关系字段在视图中的行为控制 总结
    (原创)odoo解决方案---接收以及回复外部邮件
    (原创)odoo11配置邮件功能的那些事儿
    入坑winpdb-1.4.8
    Python的hasattr() getattr() setattr() 函数使用方法详解
    jQuery webcam plugin
    (原创)odoo在docker环境下无法备份
    (转)PostgreSQL pg_dump&psql 数据的备份与恢复
  • 原文地址:https://www.cnblogs.com/crazyapple/p/2999476.html
Copyright © 2011-2022 走看看