Submission #572751


Source Code Expand

#include "bits/stdc++.h"
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
#define rep(i,n) for(ll i=0;i<(ll)(n);i++)
#define all(a)  (a).begin(),(a).end()
#define pb push_back
#define INF 99999999
 
class UF{
private:
    vector<int> par,rank;
    int _size;
    int groups;
public:
    
    UF(int __size):_size(__size) , par(__size) , rank(__size,0) ,groups(1){
        for(int i=0;i<__size;i++)par[i]=i;
    }
    
    int size(){
        return _size;
    }
    
    int find(int x){
        if(par[x]==x) {
            return x;
        }else{
            return par[x]=find(par[x]);
        }
    }
    
    void unite(int x,int y){
        x=find(x);
        y=find(y);
        if(x==y) return;
        
        if(rank[x]<rank[y]){
            par[x]=y;
        }else{
            par[y]=x;
            if(rank[x]==rank[y])rank[x]++;
        }
    }
};
 
int main(){
    int n,q;
    cin>>n>>q;
    UF uf(200000);
    rep(i,q){
        int a,b,c;
        cin>>a>>b>>c;
        if(a==0){
            uf.unite(b,c);
        }else{
            cout<<((uf.find(b)==uf.find(c))?"YES":"NO")<<endl;
        }
    }
}

Submission Info

Submission Time
Task B - Union Find
User Yazaten
Language C++ (GCC 4.9.2)
Score 100
Code Size 1197 Byte
Status AC
Exec Time 350 ms
Memory 2468 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 60
Set Name Test Cases
Sample 0-sample-1, 0-sample-2
All 0-sample-1, 0-sample-2, 1-random-00, 1-random-01, 1-random-02, 1-random-03, 1-random-04, 1-random-05, 1-random-06, 1-random-07, 1-random-08, 1-random-09, 1-random-10, 1-random-11, 1-random-12, 1-random-13, 1-random-14, 1-random-15, 1-random-16, 1-random-17, 1-random-18, 1-random-19, 1-random-20, 1-random-21, 1-random-22, 1-random-23, 1-random-24, 1-random-25, 1-random-26, 1-random-27, 1-random-28, 1-random-29, 2-killer-00, 2-killer-01, 2-killer-02, 2-killer-03, 2-killer-04, 2-killer-05, 2-killer-06, 2-killer-07, 2-killer-08, 2-killer-09, 2-killer-10, 2-killer-11, 3-killer-00, 3-killer-01, 3-killer-02, 3-killer-03, 3-killer-04, 3-killer-05, 3-killer-06, 3-killer-07, 3-killer-08, 3-killer-09, 3-killer-10, 3-killer-11, 3-killer-12, 3-killer-13, 3-killer-14, 3-killer-15
Case Name Status Exec Time Memory
0-sample-1 AC 31 ms 2340 KB
0-sample-2 AC 31 ms 2340 KB
1-random-00 AC 71 ms 2348 KB
1-random-01 AC 141 ms 2456 KB
1-random-02 AC 294 ms 2336 KB
1-random-03 AC 292 ms 2344 KB
1-random-04 AC 218 ms 2340 KB
1-random-05 AC 107 ms 2336 KB
1-random-06 AC 121 ms 2340 KB
1-random-07 AC 262 ms 2344 KB
1-random-08 AC 172 ms 2324 KB
1-random-09 AC 64 ms 2464 KB
1-random-10 AC 314 ms 2336 KB
1-random-11 AC 150 ms 2336 KB
1-random-12 AC 30 ms 2336 KB
1-random-13 AC 233 ms 2456 KB
1-random-14 AC 36 ms 2340 KB
1-random-15 AC 300 ms 2464 KB
1-random-16 AC 253 ms 2340 KB
1-random-17 AC 258 ms 2332 KB
1-random-18 AC 68 ms 2460 KB
1-random-19 AC 113 ms 2336 KB
1-random-20 AC 306 ms 2336 KB
1-random-21 AC 158 ms 2456 KB
1-random-22 AC 71 ms 2336 KB
1-random-23 AC 139 ms 2264 KB
1-random-24 AC 295 ms 2452 KB
1-random-25 AC 171 ms 2460 KB
1-random-26 AC 122 ms 2456 KB
1-random-27 AC 89 ms 2340 KB
1-random-28 AC 148 ms 2336 KB
1-random-29 AC 322 ms 2328 KB
2-killer-00 AC 305 ms 2336 KB
2-killer-01 AC 306 ms 2464 KB
2-killer-02 AC 307 ms 2460 KB
2-killer-03 AC 303 ms 2344 KB
2-killer-04 AC 322 ms 2336 KB
2-killer-05 AC 166 ms 2460 KB
2-killer-06 AC 165 ms 2336 KB
2-killer-07 AC 165 ms 2332 KB
2-killer-08 AC 179 ms 2336 KB
2-killer-09 AC 167 ms 2456 KB
2-killer-10 AC 148 ms 2332 KB
2-killer-11 AC 148 ms 2340 KB
3-killer-00 AC 302 ms 2344 KB
3-killer-01 AC 308 ms 2332 KB
3-killer-02 AC 307 ms 2332 KB
3-killer-03 AC 275 ms 2456 KB
3-killer-04 AC 279 ms 2456 KB
3-killer-05 AC 350 ms 2456 KB
3-killer-06 AC 302 ms 2344 KB
3-killer-07 AC 313 ms 2468 KB
3-killer-08 AC 321 ms 2344 KB
3-killer-09 AC 289 ms 2332 KB
3-killer-10 AC 341 ms 2364 KB
3-killer-11 AC 296 ms 2328 KB
3-killer-12 AC 297 ms 2460 KB
3-killer-13 AC 297 ms 2460 KB
3-killer-14 AC 296 ms 2460 KB
3-killer-15 AC 292 ms 2452 KB