思路:其实用dijkstra 应该也可以,不过比较麻烦 用floyd 简单明了
#include <stdio.h>
#include <string.h>
#define M 25
int main ()
{
n,m,t,i,j,k,f,v1,v2;
map[M][M];
1;
("%d",&f)!=EOF)
for (i = 1;i <= 20;i ++)
for (j = 1;j <= 20;j ++)
map[i][j] = M;
while (f --)
{
scanf ("%d",&j);
map[1][j] = 1;
map[j][1] = 1;
}
t = 19;
for (i = 2; i <= t; i ++)
{
scanf ("%d",&m);
while (m--)
{
scanf("%d",&j);
map[i][j] = 1;
map[j][i] = 1;
}
}
for (k = 1;k <= 20;k ++)
for (i = 1;i <= 20;i ++)