Submission #477929


Source Code Expand

#include<bits/stdc++.h>
#include<vector>
#include<list>
#include<stack>
#include<queue>
#include<algorithm>
using namespace std;

struct UnionFind {
    vector<int> data;
    UnionFind(int size) : data(size, -1) {}
    bool unite(int x, int y){
        x=root(x), y=root(y);
        if(x!=y){
            if(data[y]<data[x]){
                swap(x,y);
            }
            data[x]+=data[y], data[y]=x;
        }
        return x!=y;
    }

    bool find(int x, int y){
        return root(x)==root(y);
    }

    int root(int x){
        return data[x]<0 ? x : data[x]=root(data[x]);
    }

    int size(int x){
        return -data[root(x)];
    }
};


int main(){
    int n,q;
    scanf("%d %d",&n,&q);
    UnionFind uf(n);
    for(int i=0;i<q;i++){
        int p,a,b;
        scanf("%d %d %d",&p,&a,&b);
        if(p!=0){
            if(uf.find(a,b)){
                printf("Yes\n");
            }else{
                printf("No\n");
            }
        }else{
            uf.unite(a,b);
        }
    }
    return 0;
}

Submission Info

Submission Time
Task B - Union Find
User nyon
Language C++11 (GCC 4.9.2)
Score 100
Code Size 1086 Byte
Status AC
Exec Time 140 ms
Memory 1312 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:39:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d",&n,&q);
                         ^
./Main.cpp:43:35: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d %d %d",&p,&a,&b);
                                   ^

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 28 ms 792 KB
subtask_01_01.txt AC 88 ms 736 KB
subtask_01_02.txt AC 26 ms 1184 KB
subtask_01_03.txt AC 139 ms 916 KB
subtask_01_04.txt AC 129 ms 1312 KB
subtask_01_05.txt AC 36 ms 916 KB
subtask_01_06.txt AC 36 ms 1180 KB
subtask_01_07.txt AC 140 ms 920 KB
subtask_01_08.txt AC 135 ms 1312 KB
subtask_01_09.txt AC 25 ms 924 KB
subtask_01_10.txt AC 24 ms 1192 KB
subtask_01_11.txt AC 134 ms 924 KB
subtask_01_12.txt AC 134 ms 1304 KB
subtask_01_13.txt AC 113 ms 924 KB
subtask_01_14.txt AC 26 ms 1180 KB
subtask_01_15.txt AC 131 ms 796 KB
subtask_01_16.txt AC 131 ms 1312 KB
subtask_01_17.txt AC 117 ms 1180 KB
subtask_01_18.txt AC 114 ms 1176 KB