求助,样例通过爆0
查看原帖
求助,样例通过爆0
533423
Gabriella楼主2021/8/4 21:24
#include <iostream>
using namespace std;
const int maxn = 200005, maxm = 5005;
int arr[maxm][maxm];
bool flag[maxn] = { false };
int a[maxn];
int n, m, l;
int sum;
int main() {
    cin >> n >> m;
    for (int i = 1; i <= m; i++) {
        int x, y;
        cin >> x >> y;
        cin >> arr[x][y];
        arr[y][x] = arr[x][y];
    }
    memset(a, 127, sizeof(a));
    a[1] = 0;
    for (int i = 1; i <= n; i++) {
        l = 0;
        for (int j = 1; j <= n; j++)
            if (flag[j] == false && a[j] < a[l])
                l = j;
        flag[l] = false;
        for (int j = 1; j <= n; j++)
            if (flag[j] == false && arr[l][j] < a[j])
                a[j] = arr[l][j];
    }
    for (int i = 1; i <= n; i++)
        sum += a[i];
    cout << sum;
    return 0;
}
2021/8/4 21:24
加载中...