今天的D题题解:并查集+floyd最短路径输入时预处理每个点属于哪一组,用边权为0的边跑一边并查集,然后遍历一遍点,看同组的是否都在相同集合内,若不同输出no,否则就是yes然后把边的两个端点换成对应的组,遍历边,对已有的多个i组到j组的边distance[i][j]取min,跑一遍floyd出结果