Pagini recente » Cod sursa (job #1476570) | Rating Gigi (kadaff) | Cod sursa (job #2000768) | Cod sursa (job #965484) | Cod sursa (job #1473431)
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <vector>
#define inf 1000000000
#define maxN 50002
using namespace std;
int n, N, m, s, nr, t, i, j, d[maxN];
bool used[maxN];
void read()
{
int a, b, c;
freopen("distante.in", "r", stdin);
freopen("distante.out", "w", stdout);
scanf("%d", &t);
while (t --)
{
scanf("%d %d %d", &n, &m, &s);
for (i = 1; i <= n; ++ i)
{
scanf("%d", &d[i]);
used[i] = 0;
}
nr = 1;
used[s] = 1;
for (i = 1; i <= m; ++ i)
{
scanf("%d %d %d", &a, &b, &c);
if (!used[b] && d[a] + c == d[b])
used[b] = 1,
++ nr;
if (d[a] + c < d[b])
d[s] = inf;
}
if (d[s] != 0 || nr != n)
printf("NU\n");
else
printf("DA\n");
}
}
int main()
{
read();
return 0;
}