求助!为什么WA#4??必关!
查看原帖
求助!为什么WA#4??必关!
1022974
Ryan_L_F楼主2025/1/14 16:48
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int T, n, m, mp[N][N], f[N][N];
void solve(){
	cin >> n >> m;
	memset(mp, 0x3f, sizeof mp);
	memset(f, 0x3f, sizeof f);
	for(int i = 1; i <= n; i++)
		mp[i][i] = f[i][i] = 0;
	for(int i = 1; i <= m; i++){
		int a, b, c; cin >> a >> b >> c;
		mp[a][b] = min(mp[a][b], c);
		mp[b][a] = min(mp[b][a], c);
		f[a][b] = min(f[a][b], c);
		f[b][a] = min(f[b][a], c);
	}
	long long ans = 9e18;
	for(int k = 1; k <= n; k++){
		for(int i = 1; i < k; i++)
			for(int j = i + 1; j < k; j++)
				ans = min(ans, 0ll + f[i][j] + mp[i][k] + mp[k][j]);
		for(int i = 1; i <= n; i++)
			for(int j = 1; j <= n; j++)
				f[i][j] = min(f[i][j], f[i][k] + f[k][j]), f[j][i] = f[i][j];
	}
	if(ans >= 1e9)
		cout << "No Simple Cycle." << "\n";
	else
		cout << ans << "\n";
}

signed main(){
	T = 1;
	while(T --)
		solve();
	return 0;
}
2025/1/14 16:48
加载中...