Dijkstra
void dijkstra(int s)
{
vis[s]=1;dis[s]=0;
for(int i=0;i<n;i++)
{
min = INF;
for(int j=0;j<n;j++)
if(!vis[j]&&min > dis[j])
min = dis[u=j];
vis[u]=1;
for(int j=0;j<n;j++)
if(adj[u][j]!=INF)
dis[j] = min(adj[u][j] + dis[u],dis[j]);
}
}