Submission #7122916


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<ll> par;
    vector<ll> rank;
    union_find_tree(ll n){
        for(ll i=0;i<n;i++){
            par.push_back(i);
            rank.push_back(0);
        }
    }

    ll find(ll a){
        if(par[a]==a)return a;
        return find(par[a]);
    }

    void unite(ll a,ll b){
        ll root_a=find(a);
        ll 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(ll a,ll 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 0
Code Size 1216 Byte
Status TLE
Exec Time 5255 ms
Memory 2668 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 100
Status
AC × 1
AC × 18
TLE × 1
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 265 ms 896 KB
subtask_01_02.txt AC 3 ms 2036 KB
subtask_01_03.txt AC 419 ms 1024 KB
subtask_01_04.txt AC 464 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 430 ms 896 KB
subtask_01_08.txt AC 449 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 411 ms 896 KB
subtask_01_12.txt AC 478 ms 2668 KB
subtask_01_13.txt AC 346 ms 768 KB
subtask_01_14.txt AC 4 ms 2036 KB
subtask_01_15.txt AC 415 ms 896 KB
subtask_01_16.txt AC 458 ms 2668 KB
subtask_01_17.txt TLE 5255 ms 2284 KB
subtask_01_18.txt AC 309 ms 2412 KB