| Time Limit: 1000MS | Memory Limit: 65536K | |
| Total Submissions: 14388 | Accepted: 7828 |
Description
Input
Output
Sample Input
3 4 1 1 1 3 2 2 3 2
Sample Output
2
Hint
Source
#include<iostream>
#include<cstring>
using namespace std;
#define M 505
int map[M][M];
int vis[M],flag[M];
int n,m,ans;
int xyl(int x)
{
int i;
for(i=1;i<=n;i++)
{
if(map[x][i]&&!vis[i])
{
vis[i]=1;
if(!flag[i]||xyl(flag[i]))
{
flag[i]=x;
return 1;
}
}
}
return 0;
}
int main()
{
int i,j,x,y;
while(cin>>n>>m)
{
memset(map,0,sizeof(map));
memset(flag,0,sizeof(flag));
for(i=0;i<m;i++)
{
cin>>x>>y;
map[x][y]=1;
}
ans=0;
for(i=1;i<=n;i++)
{
memset(vis,0,sizeof(vis));
ans+=xyl(i);
}
cout<<ans<<endl;
}
return 0;
}
poj 3041 Asteroids,布布扣,bubuko.com
原文:http://blog.csdn.net/fanerxiaoqinnian/article/details/37659079