摘要: 哎,郁闷 比赛时,WA了n多次,最终也没过,以为算法错了,可想来想去感觉没错啊!以给的最短距离为边建图,然后利用floyd算所有点之间的距离,如果i到j的距离经过k则标记i到j,最后如果i到j被标记了并且求的的最短距离等于原始的(即直连的)则可以把直连的删除即总边数减一。如果求的的距离小于直连标记 输出impossible。 原来是n个点的总边数m应该为n*(n-1); 当时不知道怎么搞成了m=2*n。View Code 1 #include <iostream> 2 #include<cstring> 3 #include<cstdio> 4 using 阅读全文
posted @ 2011-09-11 21:39 我们一直在努力 阅读(214) 评论(1) 推荐(0) 编辑