比赛 202110省实验桐柏一中普及组联赛 评测结果 AAAAAAAAAA
题目名称 分配同桌 最终得分 100
用户昵称 我是孙培轩我称霸一中1 运行时间 0.007 s
代码语言 C++ 内存使用 1.23 MiB
提交时间 2021-10-18 20:02:50
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;

const int MAXN=1e4+5;
int n,m,e,a,b,ans;
int match[MAXN];
bool use[MAXN];
vector<int>v[MAXN];

bool dfs(int x){
	for(int i=0;i<v[x].size();++i){
		if(!use[v[x][i]]){
		    use[v[x][i]]=1;
		    if(!match[v[x][i]]||dfs(match[v[x][i]])){
		    	match[v[x][i]]=x;
		    	return 1;
			}
	    }
	}return 0;
}

int main(){
	freopen("tongzhuo.in","r",stdin);
	freopen("tongzhuo.out","w",stdout);
	cin>>n>>m;
	int a,b;
	while(cin>>a>>b){
		v[a].push_back(b);
	}
	for(int i=1;i<=m;++i){
		memset(use,0,sizeof(use));
		if(dfs(i))ans++;
	}
	cout<<ans;
	return 0;
}