#include<iostream>
#include<cstdio>
#define maxn 101
#include<cstring>
using namespace std;
int n,m,t,graph[maxn][maxn],link[101],vis[101];
int find(int x){
for (int i=0;i<m;i++){
if (graph[x][i]&&vis[i]==0){
vis[i]=1;
if (link[i]==-1||find(link[i])){
link[i]=x;
return 1;
}
}
}
return 0;
}
int main(){
while (scanf("%d",&n)&&n){
memset(graph, 0, sizeof(graph)); // <- 就是这里
scanf("%d%d",&m,&t);
int a,u,v;
for (int i=0;i<t;i++){
scanf("%d%d%d",&a,&u,&v);
if (u==0||v==0) continue;
graph[u][v]=1;
}
int ans=0;
memset(link,-1,sizeof(link));
for (int i=0;i<n;i++){
memset(vis,0,sizeof(vis));
if (find(i)){
ans++;
}
}
printf("%d\n",ans);
}
return 0;
}
rt,在本代码中(poj1325),我标注了一处 memset,感觉这个地方加与不加都是一样的(因为这道题并不是多测,只是看起来像),但是加上 AC,不加 WA,这是什么原因,谢谢大佬回答