Sightseeing trip POJ - 1734

题目点这里

大意:一个无向有环图,求最小环,并输出路径

好吧。我是看着题解做的,,自己想想还真想不到floyd可以求环,。。

#include
#include
#include
#include
#include
#include
#include
#include
#define MX 111
#define INF 0x3f3f3f3f
#define mem(x,y) memset(x,y,sizeof(x))
#define FIN freopen("input.txt","r",stdin)
using namespace std;
int G[MX][MX];
int d[MX][MX],n,m,path[MX][MX];
vector ans;
int floyd()
{
    for(int i=1; i<=n; i++)
        for(int j=1; j<=n; j++) path[i][j]=i;
    int minn=INF,cnt=0;
    for(int k=1; k<=n; k++)
    {
        for(int i=1; i<=k-1; i++)
            if(G[i][k]!=INF)for(int j=1; j<=i-1; j++) if(G[k][j]!=INF)
                    {
                        int tmp=d[i][j]+G[i][k]+G[k][j];
                        if(tmp


你可能感兴趣的:(Sightseeing trip POJ - 1734)