Pagini recente » Cod sursa (job #1977847) | Cod sursa (job #2440832) | Cod sursa (job #36148) | Cod sursa (job #2891909) | Cod sursa (job #2273230)
/// but this older code works
/// ... wtf g++
#include <fstream>
#include <vector>
using namespace std;
fstream f;
struct lk{
int y, ds;
} ax;
int n, m, x, y;
vector <int> cost(30000), c(30000);
vector <vector <lk> > d(30000);
vector <bool> v(30000);
int main(){
int i, j, k, l;
f.open("sate.in", ios_base::in);
f >> n >> m >> x >> y;
x--; y--;
for (k=0; k<m; k++){
f >> i >> j >> l;
i--; j--;
ax.y=j; ax.ds=l;
d[i].push_back(ax);
ax.y=i; ax.ds=-l;
d[j].push_back(ax);
}
f.close();
i=0; j=0; v[x]=true; cost[x]=0; c[0]=x;
while (i<=j){
for (k=0; k<d[c[i]].size(); k++)
if (v[d[c[i]][k].y]==false){
v[d[c[i]][k].y]=true;
c[++j]=d[c[i]][k].y;
cost[d[c[i]][k].y]=cost[c[i]]+d[c[i]][k].ds;
}
i++;
}
f.open("sate.out", ios_base::out);
f << cost[y] << '\n';
f.close();
return 0;
}