Cod sursa(job #952076)

Utilizator monica11Szekely Monica monica11 Data 22 mai 2013 17:54:01
Problema Sate Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
long i,j,k,q[100030],a[3005][3005],n,m,x,prim,viz[30005],c,y;
void bfs(long x)
{
    if(i<=j)
    {
        prim=q[i];
        for(k=1;k<=n;k++)
            if(a[prim][k]!=0&&viz[k]==0)
        {
            j++;
            q[j]=k;
            if(prim<k)
				viz[k]=viz[prim]+a[prim][k];
            else 
				viz[k]=viz[prim]-a[prim][k];
        }
			i++;
			bfs(x);
	}
}
int main()
{
    f>>n>>m>>x>>y;
    while(f>>i>>j>>c)
        a[i][j]=a[j][i]=c;
    q[1]=x;
    viz[x]=1;
    i=j=1;
    bfs(x);
    g<<viz[y]-1;
}