记录编号 173063 评测结果 AAAAAAAAAA
题目名称 [网络流24题] 搭配飞行员 最终得分 100
用户昵称 Gravatar啊吧啦吧啦吧 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2015-07-27 20:51:57 内存使用 0.35 MiB
显示代码纯文本
#include <iostream>
#include <fstream>
#include <cstdlib>
 
using namespace std;

const int MAXN(201);
int n, n1, u, v, tim = 0, ans = 0, used[MAXN], girl[MAXN]; 
bool find(int), a[MAXN][MAXN] = {false};
ifstream fin("flyer.in");
ofstream fout("flyer.out");
//#define fin cin
//#define fout cout
 
main()
{
	fin >> n >> n1;
	while (fin >> u >> v)
		a[u][v] = true;
	
	for (int i = 1; i <= n1; ++i){
		tim ++;
		if (find(i))
			ans ++;
	}
	
	fout << ans << endl;
//	system("pause");
}
 
bool find(int x)
{
	for (int i = 1; i <= n; ++i)
		if (a[x][i])
			if (used[i] != tim){
				used[i] = tim;
				if (girl[i] == 0 || find(girl[i])){
					girl[i] = x;
					return true;
				}
	   		}	
	return false;
}