voidjoin(int x, int y){ int a = find(x), b = find(y); fa[a] = b; }
structnode { int x_, y_, w_; } arr[LEN];
intmain(){ cin >> n >> m; //扩大的那一倍也要初始化 for (int i = 1; i <= (n << 1); ++i) fa[i] = i; for (int i = 1; i <= m; ++i) { cin >> arr[i].x_ >> arr[i].y_ >> arr[i].w_; } sort(arr + 1, arr + 1 + m, [](node &a, node &b) -> bool { return a.w_ > b.w_; }); int x, y, a, b; for (int i = 1; i <= m; ++i) { x = arr[i].x_, y = arr[i].y_; if ((a = find(x)) == (b = find(y))) { cout << arr[i].w_; return0; } join(x, y + n), join(y, x + n); } cout << 0; return0; }