結果

問題 No.1639 最小通信路
ユーザー rieaaddlreiuu
提出日時 2024-05-28 19:20:28
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
MLE  
実行時間 -
コード長 1,938 bytes
コンパイル時間 1,845 ms
コンパイル使用メモリ 178,016 KB
実行使用メモリ 814,592 KB
最終ジャッジ日時 2024-12-20 20:51:58
合計ジャッジ時間 7,791 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 32 RE * 9 MLE * 2
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include <bits/stdc++.h>
#include <regex>
#include <algorithm>
using namespace std;
//printf , scanf使
/*
[]
*/
struct UnionFind {
vector<int> par, rank, siz;
//
UnionFind(int n) : par(n,-1), rank(n,0), siz(n,1) { }
//
int root(int x) {
if (par[x]==-1) return x; // x x
else return par[x] = root(par[x]); //
}
// x y (= )
bool issame(int x, int y) {
return root(x)==root(y);
}
// x y
bool unite(int x, int y) {
int rx = root(x), ry = root(y); // x y
if (rx==ry) return false; //
// union by rank
if (rank[rx]<rank[ry]) swap(rx, ry); // ry rank
par[ry] = rx; // ry rx
if (rank[rx]==rank[ry]) rank[rx]++; // rx rank 調
siz[rx] += siz[ry]; // rx siz 調
return true;
}
// x
int size(int x) {
return siz[root(x)];
}
};
int main() {
//Let's algorithm!!
int N,M;
cin >> N;
M = N*(N-1)/2;
int u,v;
string w;
UnionFind union_find(N);
vector<vector<int>> edges(M);
vector<string> weight;
for(int i=0;i<M;i++){
cin >> u >> v >> w;
edges[i].push_back(v);
edges[i].push_back(u);
weight.push_back(w);
}
string min;
for(int i=0;i<M;i++){
if(!union_find.issame(edges[i][0],edges[i][1])){
union_find.unite(edges[i][0],edges[i][1]);
min = weight[i];
}
}
cout << min << endl;
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0