Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("input.txt");
- ofstream fout("output.txt");
- int n, m, j, k, a, b, c;
- vector<pair<int, int> > g[1000000];
- int v[10000000];
- int dfs(int h, int u){
- int l=500000000, z=0;
- for(int x=0; x<g[h].size(); x++){
- if(g[h][x].second<l){
- l=g[h][x].second;
- z=g[h][x].first;
- }
- }
- if(z==k) return u+1;
- if(v[z]==0){
- v[z]=1;
- dfs(z, u+1);
- }else{
- return -1;
- }
- }
- int main(){
- fin >> n >> m >> j >> k;
- for(int x=0; x<m; x++){
- fin >> a >> b >> c;
- g[a].push_back({b, c});
- g[b].push_back({a, c});
- }
- fout << dfs(j, 0);
- }
Advertisement
Add Comment
Please, Sign In to add comment