Pagini recente » Cod sursa (job #3205878) | Cod sursa (job #997158) | Cod sursa (job #2390782) | Cod sursa (job #2138150) | Cod sursa (job #775311)
Cod sursa(job #775311)
#include <iostream>
#include <stdio.h>
using namespace std;
int v[4][100010];
int a[50010];
int n,m,s,T;
int djikastra(int nod)
{
int i,b;
a[nod]=0; b=1;
for (i=1; i<=m; i++)
if (a[v[2][i]]>a[v[1][i]]+v[3][i])
{
a[v[2][i]]=a[v[1][i]]+v[3][i];
b=0;
break;
}
return b;
}
int main()
{
int i,j;
freopen("distante.in","r",stdin);
freopen("distante.out","w",stdout);
scanf("%i",&T);
for (i=1; i<=T; i++)
{
scanf("%i%i%i",&n,&m,&s);
for (j=1; j<=n; ++j) scanf("%i",&a[j]);
for (j=1; j<=m; ++j) scanf("%i%i%i",&v[1][j],&v[2][j],&v[3][j]);
if ( djikastra(s) ) printf("DA\n"); else printf("NU\n");
}
return 0;
}