Pagini recente » Cod sursa (job #2601431) | Cod sursa (job #1308566) | Cod sursa (job #494466) | Cod sursa (job #2945112) | Cod sursa (job #1068542)
#include<stdio.h>
#define MAX 100000
int ultim[2*MAX],prev[2*MAX],dist[MAX],coada[MAX];
int link[2*MAX],distof2[2*MAX],mindist[50000];
int main()
{
FILE *fin,*fout;
fin=fopen("distante.in","r");
fout=fopen("distante.out","w");
int t;
fscanf(fin,"%d",&t);
while(t)
{
int n,m,s;
fscanf(fin,"%d%d%d",&n,&m,&s);
int i,pp=1;
for(i=1; i<=n; i++)
fscanf(fin,"%d",&mindist[i]);
for(i=1;i<=m;i++)
{
int x,y,z;
fscanf(fin,"%d%d%d",&x,&y,&z);
if(mindist[x]+z<mindist[y])
pp=0;
if(mindist[y]+z<mindist[x])
pp=0;
}
if(mindist[s]!=0)
pp=0;
if(pp)
fprintf(fout,"DA\n");
else
fprintf(fout,"NU\n");
t--;
}
return 0;
}