Submission #992671


Source Code Expand

#include <iostream>
#include <vector>

using namespace std;

constexpr int MAX = 100000;

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

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

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

    int groups()
    {
        return gnum;
    }
};

int main()
{
    cin.tie(0);
    ios::sync_with_stdio(false);
    
    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 (const 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 1491 Byte
Status TLE
Exec Time 2103 ms
Memory 4864 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 5 ms 2688 KB
01-03.txt AC 5 ms 2688 KB
01-04.txt AC 5 ms 2688 KB
01-05.txt AC 5 ms 2688 KB
01-06.txt AC 5 ms 2688 KB
01-07.txt AC 5 ms 2688 KB
01-08.txt AC 5 ms 2688 KB
01-09.txt AC 5 ms 2688 KB
01-10.txt AC 6 ms 2688 KB
02-01.txt AC 22 ms 4608 KB
02-02.txt AC 38 ms 3968 KB
02-03.txt AC 22 ms 4096 KB
02-04.txt AC 27 ms 4480 KB
02-05.txt AC 26 ms 3968 KB
02-06.txt AC 27 ms 4480 KB
02-07.txt AC 27 ms 4096 KB
02-08.txt TLE 2102 ms 3840 KB
02-09.txt TLE 2102 ms 3712 KB
02-10.txt TLE 2103 ms 4864 KB
02-11.txt TLE 2102 ms 4864 KB
02-12.txt AC 337 ms 4736 KB
02-13.txt AC 337 ms 4736 KB
sample-01.txt AC 4 ms 2560 KB
sample-02.txt AC 4 ms 2560 KB