Pagini recente » Cod sursa (job #1876602) | Cod sursa (job #2185221) | Cod sursa (job #1649411) | Cod sursa (job #1182330) | Cod sursa (job #1804600)
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <vector>
#define MaxN 50005
using namespace std;
FILE *IN,*OUT;
int N,M,S,T,v[MaxN],Obt,X,Y,Z;
int main()
{
IN=fopen("distante.in","r");
OUT=fopen("distante.out","w");
fscanf(IN,"%d",&T);
for(int t=1;t<=T;t++)
{
fscanf(IN,"%d%d%d",&N,&M,&S);
memset(v,0,sizeof v);
for(int i=1;i<=N;i++)
fscanf(IN,"%d",&v[i]);
if(v[S]!=0)
{
fprintf(OUT,"NU\n");
}
else
{
Obt=0;
for(int i=1;i<=M;i++)
{
fscanf(IN,"%d%d%d",&X,&Y,&Z);
if(v[X]+Z<v[Y]||v[Y]+Z<v[X])
{
Obt=-1;
break;
}
}
if(Obt==-1)
fprintf(OUT,"NU\n");
else
fprintf(OUT,"DA\n");
}
}
return 0;
}