Pagini recente » Cod sursa (job #745117) | Cod sursa (job #3226679) | Cod sursa (job #1144320) | Cod sursa (job #116830) | Cod sursa (job #963214)
Cod sursa(job #963214)
#include <stdio.h>
#define INF 1000
int main()
{
int t,c,k;
long int i,j,a,b,s,n,m,d[50001];
bool ok=true;
FILE *in=fopen("distante.in","r");
FILE *out=fopen("distante.out","w");
fscanf(in,"%d",&t);
for(k=0;k<t;k++)
{
ok=true;
fscanf(in,"%ld %ld %ld",&n,&m,&s);
for(j=1;j<=n;j++)
{
fscanf(in,"%ld",&d[j]);
}
if(d[s]!=0) ok=false;
for (i = 1; i <= m; ++i){
fscanf(in,"%ld %ld %ld",&a,&b,&c);
if (d[a] > d[b] + c || d[b] > d[a] + c) ok = false;
}
if(ok)
{
fprintf(out,"DA\n");
}
else
{
fprintf(out,"NU\n");
}
}
fclose(in);
fclose(out);
return 0;
}