Pagini recente » Cod sursa (job #3263433) | Cod sursa (job #848587) | Cod sursa (job #2470782) | Cod sursa (job #1431706) | Cod sursa (job #70770)
Cod sursa(job #70770)
#include <cstdio>
#define maxn 50000
#define maxm 100000
FILE *in = fopen("distante.in","r"), *out = fopen("distante.out","w");
struct muchie
{
int x, y, c;
};
int t, n, m, s;
int d[maxn];
muchie a[maxm];
void go()
{
if ( d[s-1] != 0 )
{
fprintf(out, "NU\n");
return;
}
for ( int i = 0; i < m; ++i )
if ( d[a[i].x - 1] + a[i].c < d[a[i].y - 1] )
{
fprintf(out, "NU\n");
return;
}
fprintf(out, "DA\n");
return;
}
int main()
{
fscanf(in, "%d", &t);
while ( t-- )
{
fscanf(in, "%d %d %d", &n, &m, &s);
for ( int i = 0; i < n; ++i )
fscanf(in, "%d", &d[i]);
for ( int i = 0; i < m; ++i )
fscanf(in, "%d %d %d", &a[i].x, &a[i].y, &a[i].c);
go();
}
return 0;
}