添加链接描述
#include<bits/stdc++.h>
using namespace std;
int g[125][125];
int linker[125];
int used[125];
int s,e;
int in,st;
int dfs(int x){
for(int i=1;i<=in;i++){
if(g[x][i]&&!used[i]){
used[i]=1;
if(linker[i]==0||dfs(linker[i])){
linker[i]=x;
return 1;
}
}
}
return 0;
}
int hungary(){
int r=0;
memset(linker,0,sizeof linker);
for(int i=1;i<=in;i++){
memset(used,0,sizeof used);
if(dfs(i)) r++;
}
return r;
}
int main()
{
int T;
scanf("%d",&T);
while(T--){
scanf("%d%d",&in,&st);
memset(g,0,sizeof g);
for(int i=0;i<st;i++){
scanf("%d%d",&s,&e);
g[s][e]=1;
}
printf("%d\n",in-hungary());
}
return 0;
}