一开始是这样写的
void dij(int dis[],int s){
priority_queue<pair<int,int> > Q;
memset(vis,0,sizeof(vis));
memset(dis,0x3f,sizeof(dis));
Q.push({0,s});
dis[s]=0;
while(!Q.empty()){
int u=Q.top().second;
Q.pop();
if(vis[u])continue;
vis[u]=1;
for(auto v:A[u])
if(dis[v]>dis[u]+1)
dis[v]=dis[u]+1,Q.push({-dis[v],v});
}
return ;
}
但是memset总是初始化不上,求解答