Pagini recente » Cod sursa (job #2013423) | Cod sursa (job #2228944) | Cod sursa (job #2228945) | Cod sursa (job #15079) | Cod sursa (job #3201217)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("distante.in");
ofstream cout("distante.out");
int t;
int n,m,s;
int x,y,c;
vector<int> D;
vector<bool> fr;
int main()
{
cin>>t;
for(int i=0;i<t;i++)
{
cin>>n>>m>>s;
D.resize(0);
D.resize(n+1);
for(int i=1;i<=n;i++)
cin>>D[i];
if(!D[s])
{
bool ok=1;
fr.resize(0);
fr.resize(n+1);
for(int i=0;i<m;i++)
{
cin>>x>>y>>c;
if(D[x]+c<D[y])
{
ok=0;
break;
}
else
if(D[x]+c==D[y])
fr[y]=1;
}
for(int i=1;i<=n;i++)
if(!fr[i] && i!=s)
{
ok=0;
break;
}
if(ok==1)
cout<<"DA";
else
cout<<"NU";
}
else
cout<<"NU";
cout<<'\n';
}
return 0;
}