50ptsWA匈牙利球条
查看原帖
50ptsWA匈牙利球条
267125
宋小陀螺楼主2024/5/25 20:21

rt,#5#7#8#9#10WA,#5输出比数据少了1

#include<bits/stdc++.h>
using namespace std;
int n,m,e,ans;
bool gra[505][505],vis[505],lft[505];
bool mtc(int k) 
{
	for (int i = 1;i <= m;i++) 
		if (gra[k][i] && !vis[i]) 
		{
			vis[i] = true;
			if (!lft[i] || mtc(lft[i])) 
			{
				lft[i] = k;
				return true;
			}
		}
	return false;
}
int main() 
{
	int u,v;
	cin >> n >> m >> e;
	for (int i = 1;i <= e;i++) 
	{
		cin >> u >> v;
		gra[u][v] = true;
	}
	for (int i = 1;i <= n;i++) 
	{
		if (mtc(i)) ans++;
		memset(vis,false,sizeof(vis));
	}
	cout << ans << endl;
	return 0;
}
2024/5/25 20:21
加载中...