Advertisement
Guest User

matching

a guest
Nov 27th, 2015
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.35 KB | None | 0 0
  1. bool dfs(int x) {
  2.     visited[x] = 1;
  3.     for (int i: adj[x]) {
  4.         if (match[i]==-1 || (!visited[match[i]] && dfs(match[i]))) {
  5.             match[i] = x;
  6.             return 1;
  7.         }
  8.     }
  9.     return 0;
  10. }
  11.  
  12. int matching() {
  13.     int ans = 0;
  14.     for (int i=0;i<M;i++) match[i] = -1;
  15.     for (int i=0;i<N;i++) {
  16.         for (int j=0;j<N;j++) visited[j] = 0;
  17.         ans+=dfs(i);
  18.     }
  19.     return ans;
  20. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement