韓國 AI 創企打造逼真虛擬人,能化身教師或銀行職員
阿新 • • 發佈:2021-08-11
- 如果後來的和以前的發生矛盾,則以前的優先退讓。
- 如果以前的退讓之後沒有cp可處,則以前的拒絕退讓,新來的去尋找下一個匹配。
- 如果新來的誰也匹配不上了,那就這麼單著吧
#include<stdio.h> #include<string.h> #include<algorithm> #include<bits/stdc++.h> using namespace std; int cnt; int n,m,t; const int maxn=1005; int mch[maxn],vistime[maxn]; vector<int> e[maxn];int dfs(int u,int tag) { if(vistime[u]==tag) return 0; vistime[u]=tag; for(int j=0;j<e[u].size();j++) { int v=e[u][j]; if(mch[v]==0||dfs(mch[v],tag)) { mch[v]=u; return 1; } } return 0; } int main() { scanf("%d%d%d",&n,&m,&t);while(t--) { int u,v; scanf("%d%d",&u,&v); e[u].push_back(v); } int ans=0; for(int i=1;i<=n;i++) { if(dfs(i,i)) ++ans; } printf("%d\n",ans); }