首先三重循环枚举点的所有组合情况,将长度小于3的环上边权置0,然后跑弗洛伊德求最短路。
注意不要初始化为0x3f,否则会炸int。
#include<bits/stdc++.h>
using namespace std;
const int N=310;
const int inf=0x1f1f1f1f;
int n,m;
int f[N][N];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin>>n>>m;
memset(f