Pagini recente » Cod sursa (job #2481743) | Cod sursa (job #2273206) | Cod sursa (job #2790767) | Cod sursa (job #2944981) | Cod sursa (job #1452379)
#include <cstdio>
#include <vector>
#include <cstring>
#include <algorithm>
#define DIM 50100
using namespace std;
int N, M, T, Ver[DIM], Fin[DIM], X, Y, Z, K, S;
int main(){
freopen("distante.in" ,"r", stdin );
freopen("distante.out","w", stdout);
scanf("%d", &T);
for(T = T; T; T --){
scanf("%d %d %d", &N, &M, &S);
for(int i = 1; i <= N; i ++)
scanf("%d", &Fin[i]);
int ok = 1; Ver[S] = 1;
for(int i = 1; i <= M; i ++){
scanf("%d %d %d", &X, &Y, &Z);
if(Fin[X] + Z < Fin[Y] || Fin[Y] + Z < Fin[X])
ok = 0;
if(Ver[X] == 0 && Fin[Y] + Z == Fin[X])
Ver[X] = 1;
if(Ver[Y] == 0 && Fin[X] + Z == Fin[Y])
Ver[Y] = 1;
}
for(int i = 1; i <= N; i ++)
if(Ver[i] == 0) ok = 0;
if(Fin[S] != 0)
ok = 0;
switch(ok){
case 1:{printf("DA\n");break;}
case 0:{printf("NU\n");break;}
}
}
return 0;
}