Pagini recente » Cod sursa (job #1326493) | Cod sursa (job #972293) | Cod sursa (job #667102) | Cod sursa (job #1159467) | Cod sursa (job #1804610)
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <vector>
#define MaxN 50005
using namespace std;
FILE *IN,*OUT;
int N,M,S,T,v[MaxN],X,Y,Z;
bool Obt;
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);
Obt=true;
memset(v,0,sizeof v);
for(int i=1;i<=N;i++)
fscanf(IN,"%d",&v[i]);
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=false;
}
if(v[S]!=0)
Obt=false;
if(Obt)
fprintf(OUT,"DA\n");
else
fprintf(OUT,"NU\n");
}
return 0;
}