有向图求最小环

直接一遍floyd;然后求自己到自己的最短距离,注意初始化问题
【有向图求最小环】


#include #include #include #include #define mmin(a,b) a mp[i][k]+mp[k][j]) mp[i][j]=mp[i][k]+mp[k][j]; }int main() { // printf("%d\n",INF); int cases; scanf("%d",&cases); while(cases--) { int a,b,c; scanf("%d %d",&n,&m); for(int i=0; imp[i][i]) result=mp[i][i]; } if(result == INF) printf("-1\n"); else printf("%d\n",result); } return 0; }



    推荐阅读