Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool dfs(int x) {
- visited[x] = 1;
- for (int i: adj[x]) {
- if (match[i]==-1 || (!visited[match[i]] && dfs(match[i]))) {
- match[i] = x;
- return 1;
- }
- }
- return 0;
- }
- int matching() {
- int ans = 0;
- for (int i=0;i<M;i++) match[i] = -1;
- for (int i=0;i<N;i++) {
- for (int j=0;j<N;j++) visited[j] = 0;
- ans+=dfs(i);
- }
- return ans;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement