Cod sursa(job #628330)

Utilizator bocacristiBoca Nelu Cristian bocacristi Data 1 noiembrie 2011 09:17:05
Problema Distante Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
using namespace std;

ifstream fin("distante.in");
ofstream fout("distante.out");

int main()
{
	int t, n, m, s, v[50001];
	int x, y, z, vrf = 1;
	fin >> t;
	for ( ;t;--t)
	{
		fin >> n >> m >> s;
		for ( int i = 0; i <= 0; ++i )
			fin >> v[i];
		if ( v[s] != 0 )
		{
			vrf = 0;
			while(m)
			{
				fin >> x >> y >> z;
				--m;
			}
		}
		else
		{
			while(m)
			{
				fin >> x >> y >> z;
				if ( v[x] > v[y]+z || v[y] > v[x]+z)
					vrf = 0;
				--m;
			}
		}
		if ( vrf)
			fout << "DA" << '\n';
		else
			fout << "NU" << '\n';
	}
}