#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,求解答