T1:
可以用推理的方式,如果只有两个水或不到两个水直接输出-1即可,当水很多的时候也可以看出一个点,如果有三个方向有水则可以直接输出1,当如上情况都没有的话,则枚举所有水并判断水是否能联通所有水,如果有一个点不能联通就输出1,否则输出2.(细节很多,自己想想)
T2:
刚开始做这题还想着用spfa,结果打了一半才发现可用floyd,就懒得改了,继续spfa,发现spfa可以判断出所经过的点,但是要知道最优解决的那个点很复杂,并且spfa的时间复杂度堪忧,对于每一对顶点都需要做一遍spfa,则spfa的效率是O(n²V*4)——会超时...
其实因为顶点少,且求的不是单源最短路径,而是每两点的距离,则我们可以运用floyd,当floyd对于两点求出两条最短路径时,则代表着两点并无答案.
转载请注明原文地址: https://ju.6miu.com/read-1295889.html