Cod sursa(job #2628642)

Utilizator loraclorac lorac lorac Data 16 iunie 2020 17:43:03
Problema Traseu Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream cin("traseu.in");
ofstream cout("traseu.out");
typedef long long ll;
struct Op
{
    ll src;
    ll dest;
    ll cost;
};
vector<Op> edge;
vector<ll> vec[80];
bool ok[80];
ll cnt=0;
void df(ll nod,ll caut)
{
    ok[nod]=true;
    for(ll x:vec[nod])
    if(!ok[x])
    {
        if(x==caut) ++cnt;
        else df(x,caut);
    }
    ok[nod]=false;
}
ll n,m,x,y,z,ans=0;
int main()
{
    cin>>n>>m;
    for(ll i=1;i<=m;++i)
    {
        cin>>x>>y>>z;
        edge.push_back({x,y,z});
        vec[x].push_back(y);
    }
    for(Op t:edge)
    {
        for(ll i=1;i<=n;++i)
            ok[i]=false;
        cnt=0;
        df(t.dest,t.src);
        ans+=cnt*t.cost;
    }
    cout<<ans<<'\n';
    return 0;
}