求一个点到所有点的最短路径
void dis(int u){
queue<int>q;
memset(vis,0,sizeof(vis));
memset(dis,INF,sizeof(dis));
dis[1]=0;
q.push(u);
while(!q.empty()){
int u=q.front();
q.pop();
if(vis[u])continue;
for(auto it:vec[u]){
if(vis[it])continue;
if(dis[it.v]>dis[u]+it.w){
dis[it.v]=dis[u]+it.w;
q.push(it.v);
}
}
}
}