有哪位dalao能帮我看一下这是怎么回事???
查看原帖
有哪位dalao能帮我看一下这是怎么回事???
310439
星星与辰楼主2021/4/8 20:00
#include<bits/stdc++.h>
using namespace std;
long long used[2001][2001],l[2001][2002],mp[2001];
int n,m;
void add(int x,int y,int z){
	if(mp[x][y]<=z&&used[x][y])
		return;
	if(!used[x][y]){
		used[x][y]=1;
		l[x][++l[x][0]]=y;
	}
	mp[x][y]=z;
//	cout<<mp[1][2];
}
int main(){
	int T;
	scanf("%d",&T);
	while(T--){
		memset(used,0,sizeof(used));
		memset(l,0,sizeof(l));
		memset(mp,0,sizeof(mp));
		scanf("%d%d",&n,&m);
		while(m--){
			int x,y,z;
			scanf("%d%d%d",&x,&y,&z);
			add(x,y,z);
			if(z>=0)
				add(y,x,z);
		}
/*		for(int i=1;i<=3;i++){
			printf("%d\n",i);
			for(int j=1;j<=l[i][0];j++){
				printf("%d %d ",l[i][j],mp[1][2]);
			}printf("\n");
		}*/
	}
	return 0;
}

这是我代码中的一部分,我发现我在add函数中输出mp里面的值一点问题都没有,但在add函数外输出mp里面的值全是0,求解答

2021/4/8 20:00
加载中...