dijkstra
void dijkstra(int s)
{
memset(d,inf,sizeof d);
memset(vis,0,sizeof vis);
d[s]=0;
for(int i=1;i<=n;i++)
{
int x=0;
for(int j=1;j<=n;j++)
{
if(!vis[j]&&(x==0&&d[j]<d[x]))x=j;
}
vis[x]=1;
for(int i=1;i<=n;i++)
{
d[i]=min(d[i],d[x]+mp[x][i]);
}
}
}
floyd
void floyd()
{
for(k=1;k<=n;k++)
{
for(j=1;j<=n;j++)
{
for(i=1;i<=n;i++)
{
dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
}
}
}
}