30分求助!!!
查看原帖
30分求助!!!
730195
Little_Cabbage楼主2023/4/23 09:21

提交记录

代码

#include <bits/stdc++.h>
#define db double
#define ll long long
using namespace std;
const ll N = 1e7;
ll a[100][100], f[100];
ll n, m, Max = INT_MIN;

void dfs(ll d, ll sum, ll k) {
	if (d == n)
		Max = max(sum, Max);
	else {
		for (int i = 1; i <= n; i++)
			if (!f[i] && a[k][i] != 0) {
				f[i] = 1;
				dfs(d + 1, sum + a[k][i], i);
				f[i] = 0;
			}
	}
}

int main() {
	ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
	cin >> n >> m;
	for (int i = 1; i <= m; i++) {
		ll x, y, z;
		cin >> x >> y >> z;
		a[x][y] = a[y][x] = z;
	}
	for (int i = 1; i <= n; i++) {
		memset(f, 0, sizeof(f));
		f[i] = 1;
		dfs(1, 0, i);
	}
	cout << Max << endl;
	return 0;
}
2023/4/23 09:21
加载中...