int N,K;
bool can[MAX_N][MAX_N]; //能选的边
void solve(){
int s = N+K,t = s+1;
for(int i=0;i<N;++i){
add_edge(s,i,1); //建立新源点
}
for(int i=0;i<K;++i){
add_edge(N+i,t,1); //建立新汇点
}
for(int i=0;i<N;++i){
for(int j=0;j<K;++j){
if(can[i][j]){
add_edge(i,N+j,1);
}
}
}
printf("%d\n",max_flow(s,t));
}