2WA求助

P3386 【模板】二分图最大匹配

已A,本帖结 ```cpp #include<iostream> #include<vector> #include<queue> using namespace std; int n,m,e; vector<deque<int>> vec; vector<int> road,_road; bool changed(int u){ while(vec[u].size()){ int v=vec[u].front(); vec[u].pop_front(); if(_road[v]) if(!changed(_road[v])) continue; _road[v]=u; vec[u].emplace_back(v); return 1; } return 0; } int main() { cin>>n>>m>>e; vector<vector<bool>> mp(n+1,vector<bool>(m+1,0)); vec=vector<deque<int>>(n+1); //road=vector<int>(n+1); _road=vector<int>(m+1,0); while(e--) { int u,v; cin>>u>>v; mp[u][v]=1; } for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(mp[i][j])vec[i].emplace_back(j); int ans=0; for(int i=1;i<=n;i++){ if(changed(i))ans++; } cout << ans << endl; return 0; } ```
by lihaoyuan @ 2023-11-16 08:29:55


|