#include<bits/stdc++.h>
using namespace std;
const int N=5e2+5,M=5e4+5;
int n1,n2,m;
int cnt,h[N],ne[M],e[M];
void add(int x,int y){
cnt++;
ne[cnt]=h[x];
e[cnt]=y;
h[x]=cnt;
}
int used[N];
int ready[N];
int sum;
bool dfs(int x,int k){
if(used[x]==k) return false;
used[x]=k;
for(int i=h[x];i;i=ne[i]){
int to=e[i];
if(!ready[to]||dfs(ready[to],k)){
ready[to]=x;
return true;
}
}
return false;
}
int main(){
scanf("%d%d%d",&n1,&n2,&m);
while(m--){
int x,y;
scanf("%d%d",&x,&y);
add(x,y);
}
for(int i=1;i<=n1;i++){
if(!dfs(i,i)){
sum++;
}
}
printf("%d",sum);
return 0;
}
匈牙利板子,调了一上午还是没调出来,求助