zoukankan      html  css  js  c++  java
  • P1113 杂务

    topu序

    //P1113 杂务 
    #include<bits/stdc++.h>
    using namespace std;
    inline int read(){
        int k=0,f=1;
        char c=getchar();
        while(!isdigit(c)){
            if(c=='-') f=-1;
            c=getchar();
        }
        while(isdigit(c)){
            k=(k<<1)+(k<<3)+(c^48);
            c=getchar();
        }
        return k;
    }
    int n;
    struct cc{
        int to,nxt/*,w*/;
    }g[10000005];
    int W[10005],T[10005],head[10005<<1],len,in[10005],ans;
    inline void add(int u,int v/*,int w*/){
        g[++len].to=v;
    //    g[len].w=w;
        g[len].nxt=head[u];
        head[u]=len;
    }
    inline void topu(){
        queue<int> q;
        for(int i=1;i<=n;i++){
            if(in[i]==0) q.push(i); 
        }
        while(q.size()){
            int t=0;
            int x=q.front();q.pop();
            W[x]+=T[x];
            ans=max(ans,W[x]); 
            for(int i=head[x];i;i=g[i].nxt){
                int y=g[i].to;
                W[y]=max(W[y],W[x]);
                in[y]--;
                if(in[y]==0) q.push(y); 
            } 
        }
    //    topu();
    }
    int main(){
        n=read();
        int tt,x;
        for(int y=1;y<=n;y++){
            tt=read();T[y]=read();
            while(1){
                x=read();
                if(x==0) break;
                add(x,y/*,tt*/);
                in[y]++;
            }
        }
        topu();
        cout<<ans;
        return 0;
    }
  • 相关阅读:
    阿牛的EOF牛肉串
    盐水的故事
    密码
    Digital Roots
    不容易系列之(3)—— LELE的RPG难题
    不容易系列之一
    超级楼梯
    母牛的故事
    蟠桃记
    Children’s Queue
  • 原文地址:https://www.cnblogs.com/duojiaming/p/11819099.html
Copyright © 2011-2022 走看看