Submission #992219


Source Code Expand

#include <iostream>
#include <vector>

using namespace std;

constexpr int MAX = 100000;

class Union_Find {
  public:
    int par[MAX], rank[MAX], size[MAX], gnum;
    
    Union_Find(int N) {
        gnum = N;
        for (int i = 0; i < N; i++) {
            par[i] = i;
            rank[i] = 0;
            size[i] = 1;
        }
    }

    int find(int x)
    {
        if (par[x] == x) {
            return x;
        }
        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;
            size[y] += size[x];
        } else {
            par[y] = x;
            size[x] += size[y];
            if (rank[x] == rank[y]) {
                rank[x]++;
            }
        }
        gnum--;
    }

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

    int getSize(int x)
    {
        return size[find(x)];
    }

    int groups()
    {
        return gnum;
    }
};

int main()
{
    int N, M;
    cin >> N >> M;
    vector<int> G[MAX];
    Union_Find uf(N);
    for (int i = 0; i < N; i++) {
        int K;
        cin >> K;
        for (int j = 0; j < K; j++) {
            int L;
            cin >> L; --L;
            for (auto& g : G[L]) {
                uf.unite(g, i);
            }                
            G[L].emplace_back(i);
        }
    }
    cout << (uf.groups() == 1 ? "YES" : "NO") << endl;
    return 0;
}

Submission Info

Submission Time
Task C - Interpretation
User hot_cocoa
Language C++14 (GCC 5.4.1)
Score 200
Code Size 1602 Byte
Status TLE
Exec Time 2102 ms
Memory 4992 KB

Judge Result

Set Name sample dataset1 dataset2
Score / Max Score 0 / 0 200 / 200 0 / 200
Status
AC × 2
AC × 12
AC × 21
TLE × 4
Set Name Test Cases
sample sample-01.txt, sample-02.txt
dataset1 sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt
dataset2 sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt
Case Name Status Exec Time Memory
01-01.txt AC 4 ms 2560 KB
01-02.txt AC 4 ms 2560 KB
01-03.txt AC 5 ms 2688 KB
01-04.txt AC 5 ms 2560 KB
01-05.txt AC 4 ms 2560 KB
01-06.txt AC 4 ms 2560 KB
01-07.txt AC 5 ms 2560 KB
01-08.txt AC 5 ms 2560 KB
01-09.txt AC 5 ms 2560 KB
01-10.txt AC 5 ms 2560 KB
02-01.txt AC 43 ms 4608 KB
02-02.txt AC 63 ms 4352 KB
02-03.txt AC 42 ms 4096 KB
02-04.txt AC 52 ms 4608 KB
02-05.txt AC 53 ms 4352 KB
02-06.txt AC 53 ms 4608 KB
02-07.txt AC 54 ms 4480 KB
02-08.txt TLE 2102 ms 4096 KB
02-09.txt TLE 2102 ms 4096 KB
02-10.txt TLE 2102 ms 4992 KB
02-11.txt TLE 2102 ms 4992 KB
02-12.txt AC 339 ms 4864 KB
02-13.txt AC 340 ms 4864 KB
sample-01.txt AC 5 ms 2560 KB
sample-02.txt AC 4 ms 2560 KB