传文件用恳请管理不要封
MC_CY_fromlg · · 个人记录
#include<bits/stdc++.h>
using namespace std;
struct Edge
{
int v,w;
};
vector<Edge> g[10001];
queue<int> q;
int a,b,c,d,e,rd[10001],m,t[10001],k[10001];
int main()
{
cin>>a>>b;
for(int i=0;i<b;i++)
{
cin>>c>>d>>e;
g[d].push_back({c,e});
rd[c]++;
}
for(int i=1;i<=a;i++)
{
if(rd[i]==0)q.push(i);
}
while(!q.empty())
{
m=q.front(); q.pop();
for(int i=0;i<g[m].size();i++)
{
int w=g[m][i].w;
int v=g[m][i].v;
if(w+t[m]>t[v]){t[v]=w+t[m];
}
rd[v]--;
if(rd[v]==0){
q.push(v);
}
}
}
int rt=0;
for(int i=0;i<=a;i++)
{
rt+=t[i];
}
cout<<rt;
return 0;
}