Advertisement
vitormartinotti

Untitled

Sep 12th, 2024 (edited)
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.74 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. vector<int> grafo[MAXN];
  6. int marc[MAXN]; //marc[v] = 0 v não foi visitado
  7. int dist[MAXN];
  8.  
  9. void bfs(int s){
  10.     queue<int> q;
  11.     q.push(s);
  12.     marc[s] = 1;
  13.     dist[s] = 0;
  14.     pai[s] = s;
  15.    
  16.     while(!q.empty()){
  17.         int v = q.front();
  18.         q.pop();
  19.         for(int i = 0; i < grafo[v].size(); i++){
  20.             int viz = grafo[v][i];
  21.             if(marc[viz] == 0){
  22.                 q.push(viz);
  23.                 marc[viz] = 1;
  24.                 dist[viz] = dist[v]+1;
  25.                 pai[viz] = v;
  26.             }
  27.         }
  28.     }
  29. }
  30.  
  31. vector<int> caminho;
  32.  
  33. void find_caminho(int v){
  34.     while(pai[v] != v){
  35.         v = pai[v];
  36.         caminho.push_back(v);
  37.     }
  38. }
  39.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement