P3386 【模板】二分图匹配

 

 

#include <bits/stdc++.h>

using namespace std;
const int maxn = 1010;

int n,m,e;
int vis[maxn][maxn];
int ask[maxn];
int cnt, ans;
int matched[maxn];

bool fid(int x) {
    for (int i = 1 ; i <= m; i++)
      if (vis[x][i]) {
        if (ask[i])
            continue;
        ask[i] = 1;
        if (!matched[i] || fid(matched[i])) {
            matched[i] = x ;
            return true;
        }
    }
    return false;
}

void match() {
    cnt = 0;
    memset(matched, 0, sizeof(matched));
    for(int i = 1; i <= n; ++i) {
        memset(ask, 0, sizeof(ask));
        if(fid(i)) {
            cnt++;
        }
    }
    ans = cnt;
}

int main()
{
    scanf("%d %d %d",&n,&m,&e);
    cnt = 0;
    for(int i = 1; i <= e; i++) {
        int x,y;
        scanf("%d %d",&x, &y);
        vis[x][y] = 1;
    }
    match();
    printf("%d\n",ans);
    return 0;
}

 

全部评论

相关推荐

合适才能收到offe...:项目岗是什么岗?我看你有段好像跟策划运营相关,如果找运营的话第三段经历写详细点儿。 个人建议是把自我评价删了换成专业技能放在工作经验上或者下面。学生会那个也可以删,把第一个包装成店铺运营,写4-6给点。第三个也是写4-6个点。注意工作内容➕部分数据。 投递的时候BOS招呼用语改一下,换成我有xx工作经验,熟练掌握xx技能样式,也可以简历截图然后直接发送。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务