Pagini recente » Cod sursa (job #2084165) | Cod sursa (job #1146974) | Cod sursa (job #1120074) | Cod sursa (job #761757) | Cod sursa (job #536166)
Cod sursa(job #536166)
//#include<stdio.h>
#include<fstream>
using namespace std;
FILE *in,*out;
int n,m,S,T,i,x,y,cost,q,dist[50001];
int main()
{
//in=fopen("distante.in","rt");
//out=fopen("distante.out","wt");
ifstream in("distante.in");
ofstream out("distante.out");
//fscanf(in,"%d",&T);
in>>T;
for(q=1;q<=T;q++)
{
//fscanf(in,"%d %d %d",&n,&m,&S);
in>>n>>m>>S;
for(i=1;i<=n;i++)
in>>dist[i];
//fscanf(in,"%d",&dist[i]);
bool ok=true;
if(dist[S])
ok=false;
for(i=1;i<=m;i++)
{
//fscanf(in,"%d %d %d",&x,&y,&cost);
in>>x>>y>>cost;
if(dist[x]+cost<dist[y] || dist[y]+cost<dist[x])
{
ok=false;
}
}
if(ok)
out<<"DA\n";
//fprintf(out,"DA\n");
else
out<<"NU\n";
//fprintf(out,"NU\n");
}
//fclose(in);
//fclose(out);
in.close();
out.close();
return 0;
}