Pagini recente » Cod sursa (job #1652535) | Cod sursa (job #61608) | Cod sursa (job #60673) | Cod sursa (job #3151272) | Cod sursa (job #891745)
Cod sursa(job #891745)
#include <fstream>
#include <vector>
using namespace std;
#define inf 0xffffff
ifstream fi("dijkstra.in");
ofstream fo("dijkstra.out");
long a[50005],n,m;
vector < pair <int,int> > g[50005];
void readData(){
fi >> n >> m;
for (long i=1; i<=n; i++){
long a,b,c;
fi >> a >> b >> c;
g[a].push_back(make_pair(b,c));
}
}
void solve(){
for (long i=1; i<=n; i++) a[i]=inf;
a[1]=0;
for (long i=1; i<n; i++){
vector< pair<int, int> >::iterator it;
for (it=g[i].begin(); it!=g[i].end(); ++it){
if (a[i]+it->second < a[it->first]) a[it->first]=a[i]+it->second;
}
}
}
void writeData(){
for (long i=2; i<=n; i++) fo << (a[i] < inf ? a[i] : 0) << " ";
}
int main(){
readData();
solve();
writeData();
return 0;
}