Pagini recente » Cod sursa (job #204298) | Cod sursa (job #885367) | Cod sursa (job #2901358) | Cod sursa (job #1858205) | Cod sursa (job #952076)
Cod sursa(job #952076)
#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;
}