蒟蒻求助,WA了两个点,都是少统计了一个答案
查看原帖
蒟蒻求助,WA了两个点,都是少统计了一个答案
194093
天梦楼主2021/2/4 15:52
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<sstream>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<deque>
#include<cstdlib>
#include<ctime>
#define dd double
#define ll long long
#define ld long double
#define ull unsigned long long
#define N 510
#define M number
using namespace std;

int n,m,e,ans;
bool g[N][N*2];
int num[N],con_w[N*2];

inline bool dfs(int u){
	for(int i=num[u]+1;i<=m;i++){
		num[u]=i;
		if(g[u][i]){
			if(!con_w[i]||dfs(con_w[i])){
				con_w[i]=u;
				return true;
			}
		}
	}
	return false;
}

int main(){
	scanf("%d%d%d",&n,&m,&e);
	for(int i=1;i<=e;i++){
		int from,to;
		scanf("%d%d",&from,&to);
		g[from][to]=1;
	}
	for(int i=1;i<=n;i++) if(dfs(i)) ans++;
	printf("%d",ans);
	return 0;
}
2021/2/4 15:52
加载中...