Pagini recente » Cod sursa (job #2132524) | Cod sursa (job #1825718) | Cod sursa (job #613895) | Cod sursa (job #2369229) | Cod sursa (job #299956)
Cod sursa(job #299956)
#include<stdio.h>
const int inf=1000000;
struct nod { int x,y,c;
} a[200001];
int n,m,t,s,d[50001];
void citire()
{ int i;
scanf("%d%d%d",&n,&m,&s);
for(i=1;i<=n;i++)
scanf("%d",&d[i]);
for(i=1;i<=m;i++)
scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].c);
}
int verif()
{ int i;
if(d[s]!=0) return 0;
for(i=1;i<=m;i++) if(d[a[i].x]+a[i].c<d[a[i].y]) return 0;
return 1;
}
int main()
{ int i;
freopen("distante.in","r",stdin);
freopen("distante.out","w",stdout);
scanf("%d",&t);
for(i=1;i<=t;i++)
{ citire();
if(verif()) printf("DA\n");
else printf("NU\n");
}
fclose(stdin);
fclose(stdout);
return 0;
}