关于Poj评测的一点问题
  • 板块灌水区
  • 楼主ForMyDream
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/12/25 19:54
  • 上次更新2023/10/24 06:37:44
查看原帖
关于Poj评测的一点问题
502758
ForMyDream楼主2022/12/25 19:54
#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,这是什么原因,谢谢大佬回答

2022/12/25 19:54
加载中...