Submission #4561372


Source Code Expand

#include <bits/stdc++.h>
#define rep(i,n) for(int i=0; i<n; i++)
#define int long long
#define double long double
#define mod 1000000007
#define F first
#define S second
#define P pair<long long,long long>
#define all(a) a.begin(),a.end()
using namespace std;

class Union_Find_Size{
private:
    vector<int> par;
public:
    Union_Find_Size(int n){
        par=vector<int>(n,-1);
    }
    int find(int x){
        if(par.at(x)<0) return x;
        else return par.at(x)=find(par.at(x));
    }
    int size(int x){
        return -par.at(find(x));
    }
    void unite(int x, int y){
        x=find(x);
        y=find(y);
        if(x==y) return;
        if(size(x)<size(y)) swap(x,y);
        par.at(x)+=par.at(y);
        par.at(y)=x;
    }
    bool same(int x, int y){
        return find(x)==find(y);
    }
};

signed main(){
    int n,q; cin>>n>>q;
    vector<int> p(q),a(q),b(q);
    rep(i,q){
        cin>>p.at(i)>>a.at(i)>>b.at(i);
    }
    Union_Find_Size uni(n);
    rep(i,q){
        if(p.at(i)==0){
            uni.unite(a.at(i), b.at(i));
        }else{
            cout<<(uni.same(a.at(i), b.at(i))?"Yes":"No")<<endl;
        }
    }
}

Submission Info

Submission Time
Task B - Union Find
User KoD
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1203 Byte
Status AC
Exec Time 460 ms
Memory 6272 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 1
AC × 19
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 260 ms 3456 KB
subtask_01_02.txt AC 2 ms 1024 KB
subtask_01_03.txt AC 401 ms 5760 KB
subtask_01_04.txt AC 450 ms 6272 KB
subtask_01_05.txt AC 24 ms 640 KB
subtask_01_06.txt AC 25 ms 1408 KB
subtask_01_07.txt AC 415 ms 5504 KB
subtask_01_08.txt AC 460 ms 6272 KB
subtask_01_09.txt AC 1 ms 256 KB
subtask_01_10.txt AC 2 ms 1024 KB
subtask_01_11.txt AC 392 ms 5504 KB
subtask_01_12.txt AC 448 ms 6272 KB
subtask_01_13.txt AC 337 ms 4480 KB
subtask_01_14.txt AC 3 ms 1024 KB
subtask_01_15.txt AC 408 ms 5504 KB
subtask_01_16.txt AC 454 ms 6272 KB
subtask_01_17.txt AC 306 ms 6016 KB
subtask_01_18.txt AC 308 ms 6016 KB