建图思路很明确,拆点跑最大匹配,但这明显是个二分图的题题解居然只有一篇匈牙利算法. 发一种和之前那篇匈牙利思路略有不同的题解. 本题的难点就是如何输出,那么我们不妨在建图的时候加入一个原则,即:连边时位于左图的顶点编号小于位于右图的. 也就是说,形如左图的边是允许的,而形如右图的边是不允许的. 这很好理解吧~ 在输出的时候,只要不停往上找即可. 上代码 #include<stdio.h> int n,m,e[200][200],vis[200],mt[200],p[200]; int dfs(…