Submission #7123061
Source Code Expand
#include <bits/stdc++.h> #define ll long long #define rep(i,n) for(ll (i)=0;(i)<(n);++(i)) using namespace std; struct union_find_tree{ vector<long long> par; vector<long long> rank; union_find_tree(long long n){ init(n); } void init(long long n){ for(long long i=0;i<n;i++){ par.push_back(i); rank.push_back(0); } } long long find(long long a){ if(par[a]==a)return a; return par[a]=find(par[a]); } void unite(long long a,long long b){ long long root_a=find(a); long long root_b=find(b); if(root_a==root_b)return; if(rank[root_a]<rank[root_b]){ par[root_a]=root_b; }else if(rank[root_a]>rank[root_b]){ par[root_b]=root_a; }else{ par[root_a]=root_b; rank[root_a]++; } } bool same(long long a,long long b){ return find(a) == find(b); } }; int main(){ ll n,q; cin>>n>>q; union_find_tree uft(n); rep(i,q){ ll p,a,b; cin>>p>>a>>b; if(p==0){ uft.unite(a,b); }else{ if(uft.same(a,b)){ cout<<"Yes"<<endl; }else{ cout<<"No"<<endl; } } } }
Submission Info
Submission Time | |
---|---|
Task | B - Union Find |
User | miotsukushi |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1363 Byte |
Status | AC |
Exec Time | 457 ms |
Memory | 2668 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_01.txt |
All | 00_sample_01.txt, subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt, subtask_01_18.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_01.txt | AC | 1 ms | 256 KB |
subtask_01_01.txt | AC | 271 ms | 896 KB |
subtask_01_02.txt | AC | 3 ms | 2036 KB |
subtask_01_03.txt | AC | 411 ms | 1024 KB |
subtask_01_04.txt | AC | 450 ms | 2668 KB |
subtask_01_05.txt | AC | 24 ms | 256 KB |
subtask_01_06.txt | AC | 26 ms | 2036 KB |
subtask_01_07.txt | AC | 422 ms | 896 KB |
subtask_01_08.txt | AC | 452 ms | 2668 KB |
subtask_01_09.txt | AC | 1 ms | 256 KB |
subtask_01_10.txt | AC | 3 ms | 2036 KB |
subtask_01_11.txt | AC | 403 ms | 896 KB |
subtask_01_12.txt | AC | 450 ms | 2668 KB |
subtask_01_13.txt | AC | 345 ms | 768 KB |
subtask_01_14.txt | AC | 4 ms | 2036 KB |
subtask_01_15.txt | AC | 409 ms | 896 KB |
subtask_01_16.txt | AC | 457 ms | 2668 KB |
subtask_01_17.txt | AC | 309 ms | 2412 KB |
subtask_01_18.txt | AC | 304 ms | 2412 KB |