Pagini recente » Cod sursa (job #1238356) | Cod sursa (job #1659912) | Cod sursa (job #1352324) | Cod sursa (job #2100412) | Cod sursa (job #951792)
Cod sursa(job #951792)
#include<fstream>
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
long i,j,k,q[100030],a[20005][20005],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;
}