Cod sursa(job #917497)

Utilizator superman_01Avramescu Cristian superman_01 Data 17 martie 2013 23:03:34
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
#define MAX_SIZE 50005

using namespace std;
ifstream f("distante.in");
ofstream g("distante.out");

int dist[MAX_SIZE];
int t,n,m,startnode;

int main  ( void )
{

  f>>t;
  while(t -- )
  {

      f>>n>>m>>startnode;
      bool ok=true;
      for(int i(1); i<=n ; f>>dist[i++]);
      if(dist[startnode])
        ok=false;

      while(m--)
      {
        int node1,node2,cost;
          f>>node1>>node2>>cost;
          if(dist[node1] > dist[node2]+ cost || dist[node2] > dist[node1] + cost)
            ok=false;


      }

      if( ok == false )
       g<<"NU\n";
      else
        g<<"DA\n";

  }
  f.close();
  g.close();
  return 0;



}