zoukankan      html  css  js  c++  java
  • hdu3342 拓扑序

    题意:一个QQ群里面有一群大神,他们互相帮助解决问题,然后互相膜拜,于是有些人就称别人是他师父,现在给出很多师徒关系,问是否有矛盾

    拓扑序,按师徒关系建边直接拓扑序就行了。

     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<queue>
     4 using namespace std;
     5 const int maxm=105;
     6 
     7 int id[maxm],n;
     8 int head[maxm],point[maxm],nxt[maxm],size;
     9 
    10 void add(int a,int b){
    11     point[size]=b;
    12     nxt[size]=head[a];
    13     head[a]=size++;
    14     id[b]++;
    15 }
    16 
    17 bool topo(){
    18     queue<int>q;
    19     for(int i=0;i<n;++i)if(!id[i])q.push(i);
    20     int cnt=0;
    21     while(!q.empty()){
    22         int u=q.front();q.pop();
    23         cnt++;
    24         for(int i=head[u];~i;i=nxt[i]){
    25             int j=point[i];
    26             id[j]--;
    27             if(!id[j])q.push(j);
    28         }
    29     }
    30     if(cnt==n)return 1;
    31     return 0;
    32 }
    33 
    34 int main(){
    35     int m;
    36     while(scanf("%d%d",&n,&m)!=EOF&&(n||m)){
    37         memset(id,0,sizeof(id));
    38         memset(head,-1,sizeof(head));
    39         size=0;
    40         while(m--){
    41             int a,b;
    42             scanf("%d%d",&a,&b);
    43             add(a,b);
    44         }
    45         if(topo())printf("YES
    ");
    46         else printf("NO
    ");
    47     }
    48     return 0;
    49 }
    View Code
  • 相关阅读:
    yolo2 anchor选择校招总结
    rfcn校招总结
    cascade rcnn
    sort论文和代码解读
    重要的观点
    代办项
    stixel上边缘
    resnet densenet
    最小二乘法和线性回归
    逻辑回归原理
  • 原文地址:https://www.cnblogs.com/cenariusxz/p/4794948.html
Copyright © 2011-2022 走看看