Pagini recente » Cod sursa (job #2380178) | Cod sursa (job #1344377) | Cod sursa (job #783792) | Cod sursa (job #641579) | Cod sursa (job #1804645)
#include<fstream>
#include<string.h>
#include<ctype.h>
#include<iostream>
#include<algorithm>
#include<map>
#include<unordered_map>
#include<array>
#include<deque>
#include<math.h>
#include<functional>
#include<unordered_set>
#include<set>
#include<iomanip>
#include<bitset>
using namespace std;
int n, m, q, i, j, k, ok, nr, x, y, c, viz[30100], mcost[30100], rez,ex,ey;
vector<pair<int, int>>vec[100100];
deque<int>que;
void bfs(int x, int y)
{
que.push_back(x);
while (que.size() != 0)
{
int el = *que.begin();
que.pop_front();
viz[el] = 1;
for (auto it = vec[el].begin(); it != vec[el].end(); it++)
if (viz[it->first] == 0)
{
que.push_back(it->first);
mcost[it->first] = mcost[el]+ it->second;
if (it->first == y)
{
rez = mcost[it->first];
return;
}
}
}
}
int main()
{
//ifstream f("file.in");
//ofstream g("file.out");
ifstream f("sate.in");
ofstream g("sate.out");
f >> n >> m >> ex>> ey;
for (i = 1; i <= m; i++)
{
f >> x >> y >> c;
vec[x].push_back(make_pair(y, c));
vec[y].push_back(make_pair(x, -c));
}
bfs(ex, ey);
g << rez;
return 0;
}