pukpuk

Untitled

May 20th, 2013
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.74 KB | None | 0 0
  1. void BFS()
  2. {
  3.    int u,v,i,l;
  4.    while(!Q.empty()) Q.pop();
  5.    memset(check,false,sizeof(check));
  6.    memset(p,-1,sizeof(p));
  7.    for(i=source; i<=sink; i++) d[i]=INF;
  8.    d[1]=0;
  9.    queue<int>Q;
  10.    Q.push(1);check[1]=true;
  11.    while(!Q.empty())
  12.    {
  13.       u=Q.front();
  14.       Q.pop();
  15.       //printf("u:%d\n",u);
  16.       check[u]=false;
  17.       l=adj[u].size();
  18.       for(i=0; i<l; i++)
  19.       {
  20.          v=adj[u][i];
  21.          if(cap[u][v]-flow[u][v]>0 && d[v]>d[u]+cost[u][v])
  22.          {
  23.             d[v]=d[u]+cost[u][v];
  24.             p[v]=u;
  25.             if(!check[v])
  26.             {
  27.                check[v]=true;
  28.                Q.push(v);          
  29.             }                      
  30.          }      
  31.       }              
  32.    }
  33.    
  34. }
Advertisement
Add Comment
Please, Sign In to add comment