Pagini recente » Cod sursa (job #2723930) | Cod sursa (job #1303772) | Cod sursa (job #393791) | Cod sursa (job #1689096) | Cod sursa (job #1574768)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("transport2.in");
ofstream g("transport2.out");
const int nmax = 100000;
vector < pair<int, int> > graf[nmax];
unsigned int n, m;
int nrCuv;
unsigned int cost[nmax];
inline int minim(int x, int y){
return (x < y) ? x : y;
}
void dfs(int nod){
for(int i = 0; i < graf[nod].size(); ++i){
pair<int, int> node = graf[nod][i];
if( minim(cost[nod], node.second) > cost[node.first] ){
cost[ node.first ] = minim(cost[nod], node.second);
dfs(node.first);
}
}
}
int main()
{
f>>n>>m;
for(int i = 1, x, y, w; i <= m; ++i){
f>>x>>y>>w;
graf[x].push_back( make_pair(y, w) );
graf[y].push_back( make_pair(x, w) );
}
cost[1] = 10050;
dfs(1);
g<<cost[n]<<'\n';
return 0;
}