Advertisement
Jasir

Dijkestra nth distance

May 10th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.50 KB | None | 0 0
  1. void dijkestrea(int n){
  2.     priority_queue <pii, vector <pii>,  greater <pii> > q;
  3.     q.push({0, 1});
  4.     while(!q.empty()){
  5.         int a = q.top().first;
  6.         int b = q.top().second;
  7.         q.pop();
  8.         if(ara[b].size()==0) ara[b].push_back(a);
  9.         else if(ara[b].back()!=a) ara[b].push_back(a);
  10.         if(ara[b].size()>2) continue;
  11.         for(int i=0;i<g[b].size();i++){
  12.             if(ara[g[b][i]].size()==2) continue;
  13.             q.push({a+d[b][i], g[b][i]});
  14.         }
  15.     }
  16. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement