zoukankan      html  css  js  c++  java
  • hdu 2647拓扑排序 容器

    #include<stdio.h>
    #include<queue>
    #include<vector>
    #include<iostream>
    using namespace std;
    #define  N  11000
    int n,m,sum;
    int indegree[N],value[N];
    vector<int>now[N];
    int Max(int a,int b) {
    return a>b?a:b;
    }
    int find() {
           queue<int>q;
      int i,cur,f;
      for(i=1;i<=n;i++)
    if(indegree[i]==0) {
    value[i]=888;
    q.push(i);
    }
    f=n;
    while(!q.empty()) {
    cur=q.front();
    q.pop();
    f--;
    for(i=0;i<now[cur].size();i++) {
            value[now[cur][i]]=Max(value[cur]+1,value[now[cur][i]]);
    if(--indegree[now[cur][i]]==0)
    q.push(now[cur][i]);
    }
    }
    if(f==0)
    return 0;
    return 1;
    }
    int main() {
    int i,a,b;
    while(scanf("%d%d",&n,&m)!=EOF) {
    for(i=1;i<=n;i++)
    now[i].clear();
    memset(indegree,0,sizeof(indegree));
    memset(value,0,sizeof(value));
    while(m--) {
    scanf("%d%d",&a,&b);
        indegree[a]++;
    now[b].push_back(a);
    }
    if(find()) {
    printf("-1 ");
    continue;
    }
    sum=0;
    for(i=1;i<=n;i++)
    sum+=value[i];
    printf("%d ",sum);
    }
    return 0;
    }
  • 相关阅读:
    linux下base命令
    lldpd-0.7.7代码解读(send_pdu部分)
    openwrt 包makefile
    字符
    AC_CONFIG_HEADER
    大小端
    查看使用了那种shell
    debia下安装libjpeg
    工作流模式 (zhuan)
    1.2.1 工作流管理系统参考模型 (zhuan)
  • 原文地址:https://www.cnblogs.com/thefirstfeeling/p/4410879.html
Copyright © 2011-2022 走看看