Pagini recente »
Istoria paginii runda/vaslui_cls78_24.11/clasament
|
Istoria paginii runda/cel_mai_greu_concurs_luca_prunoiu
|
Cod sursă (job #513383)
|
2013-04-25-test-6-7-8
|
Cod sursă (job #429328)
Cod sursă (job
#429328)
#include <fstream>
#include <vector>
using namespace std;
ifstream in("dragoni2.in");
ofstream out("dragoni2.out");
int n, m, p, v[801], MAX1;
bool vizitat[801];
vector < pair <int, int> > Muchii[801];
void DFS(int nod, int eDragon)
{
int vecin, cost;
if (v[nod] > MAX1)
MAX1 = v[nod];
vizitat[nod] = 1;
for (int i = 0; i < Muchii[nod].size(); ++i)
{
vecin = Muchii[nod][i].first;
cost = Muchii[nod][i].second;
if (vizitat[vecin] == 0 && cost <= eDragon)
DFS(vecin, eDragon);
}
}
void rezolvare1()
{
MAX1 = v[1];
DFS(1, v[1]);
out << MAX1;
}
void citire()
{
int x, y, c;
in >> p >> n >> m;
for (int i = 1; i <= n; ++i)
in >> v[i];
for (int i = 1; i <= m; ++i)
{
in >> x >> y >> c;
Muchii[x].push_back(make_pair(y, c));
Muchii[y].push_back(make_pair(x, c));
}
if (p == 1)
rezolvare1();
}
int main()
{
citire();
return 0;
}