Cod sursa(job #2290255)

Utilizator TeoMiliMilitaru Teodora TeoMili Data 26 noiembrie 2018 10:22:10
Problema Sate Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <fstream>
#include <vector>
using namespace std;
vector <int> v[10001];
int a,b,n,m,x,y,k1,k2;
struct distante(){
    int st;
    int dr;
    int dist;
}val[30001];
void coada(int x){
    int p,u,i,l;
    p=u=1;
    q[p]=x;
    viz[x]=1;
    while(p<=u){
        l=q[p];
        p++;
        for(i=0;i<v[l].size();i++)
            if(viz[v[l][i]]==0 && viz[y]==0){
                for(j=1;j<=m;j++)
                    if(val[j].st==v[l][i] && val[j].dr==l)
                        S=S-val[j].dist;
                    else
                        if(val[j].st==l && val[j].dr==v[l][i])
                            S=S+val[j].dist;
                viz[v[l][i]]=1;
                u++;
                q[u]=v[l][i];
            }
    }

}
int main()
{
    ifstream cin("sate.in");
    ofstream cout("sate.out");
    cin>>n>>m>>x>>y;
    for(i=1;i<=m;i++){
       cin>>a>>b>>d;
       v[a].push_back(b);
       v[b].push_back(a);
        val[i].st=a;
        val[i].dr=b;
        val[i].dist=d;
    }
    S=0;
    coada(x);
    cout<<S;
    return 0;
}