样例过了,1AC 匈牙利算法求助
查看原帖
样例过了,1AC 匈牙利算法求助
544113
不慕放糖楼主2021/11/28 11:03
#include<bits/stdc++.h>
using namespace std;
vector<int>q[500005];
int girl[500005];//
bool us[500005];//是否访问过
bool findgirl(int x){
     for(int i=0;i<q[x].size();i++){
        int o=q[x][i];
     if(us[o]==false) {
           us[o]=true;
           if(girl[o]==0||findgirl(girl[o])){
                girl[o]=x;
                return true;
           }
           }
       return false;
}
}//算法主体
int main(){
    int n,m,e,ans=0;
    cin>>n>>m>>e;
    for(int i=1;i<=e;i++){
            int u,v;
            cin>>u>>v;
            q[u].push_back(v);
            }//建边
     for(int i=1;i<=n;i++){
             if(findgirl(i)==true) ans++;
}
    cout<<ans<<endl;
    return 0;
}

2021/11/28 11:03
加载中...