Pagini recente » jobs | Cod sursa (job #1974961) | Cod sursa (job #268856) | Cod sursa (job #2734909) | Cod sursa (job #22300)
Cod sursa(job #22300)
#include<fstream.h>
ifstream f("distante.in");
ofstream g("distante.out");
int a[100000][1000000],d[1000000],viz[1000000],n,m,ok,dist;
int DF(int x)
{ int j,w=0;
viz[x]=1;
if(x==n) { if(dist!=d[x]) ok=0;
dist=0;
}
for(j=1;j<=n;j++)
if(a[x][j] && !viz[j]){ dist+=a[x][j]; DF(j); }
return 0;
}
int distanta()
{ int x,y,c,i,t,q;
f>>t;
while(t)
{ ok=1;
f>>n>>m>>q;
for(i=1;i<=n;i++) f>>d[i];
for(i=1;i<=m;i++)
{ f>>x>>y>>c;
a[x][y]=c;
a[y][x]=c;
}
DF(q);
if(ok) g<<"DA"; else g<<"NU";
t--;
for(i=1;i<=n;i++) d[i]=viz[i]=0;
}
return 0;
}
int main()
{ distanta();
g<<'\n';
return 0;
}