Pagini recente » Cod sursa (job #712421) | Cod sursa (job #1550210) | Cod sursa (job #2175768) | Cod sursa (job #3131772) | Cod sursa (job #2358946)
#include <fstream>
using namespace std;
ifstream fin("distante.in");
ofstream fout("distante.out");
const int maxN = 50001;
bool check_graph() {
int N, M, S;
bool ok = true;
fin >> N >> M >> S;
//check if distance of S is non zero
int dist[maxN];
for(int i=1; i<=N; i++)
fin >> dist[i];
if(dist[S] != 0)
ok = false;
for(; M; M--) {
int a, b, c;
fin >> a >> b >> c;
if(dist[a] + c < dist[b])
ok = false;
}
return ok;
}
int main() {
int T;
for(fin >> T; T; T--) {
if(check_graph())
fout << "DA\n";
else
fout << "NU\n";
}
fin.close();
fout.close();
return 0;
}