Submission #2362029


Source Code Expand

#include <algorithm>
#include <cstring>
#include <deque>
#include <functional>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <vector>
using namespace std;
using ll = long long;

struct UnionFind {
  vector<int> data;
  UnionFind(int size) : data(size, -1) {}
  bool unionSet(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 findSet(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, M;
  while (cin >> N >> M) {
    UnionFind uf(N + M);
    for (int i = 0; i < N; i++) {
      int K;
      cin >> K;
      for (int j = 0; j < K; j++) {
        int L;
        cin >> L;
        --L;
        uf.unionSet(i, N + L);
      }
    }
    bool res = true;
    for (int i = 1; i < N; i++) res &= uf.findSet(0, i);
    cout << (res ? "YES" : "NO") << endl;
  }
  return 0;
}

Submission Info

Submission Time
Task C - Interpretation
User kroton
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1143 Byte
Status AC
Exec Time 46 ms
Memory 1024 KB

Judge Result

Set Name sample dataset1 dataset2
Score / Max Score 0 / 0 200 / 200 200 / 200
Status
AC × 2
AC × 12
AC × 27
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, sample-01.txt, sample-02.txt
Case Name Status Exec Time Memory
01-01.txt AC 1 ms 256 KB
01-02.txt AC 1 ms 256 KB
01-03.txt AC 2 ms 256 KB
01-04.txt AC 1 ms 256 KB
01-05.txt AC 2 ms 256 KB
01-06.txt AC 1 ms 256 KB
01-07.txt AC 1 ms 256 KB
01-08.txt AC 1 ms 256 KB
01-09.txt AC 1 ms 256 KB
01-10.txt AC 2 ms 256 KB
02-01.txt AC 31 ms 640 KB
02-02.txt AC 38 ms 640 KB
02-03.txt AC 32 ms 512 KB
02-04.txt AC 40 ms 896 KB
02-05.txt AC 39 ms 640 KB
02-06.txt AC 40 ms 896 KB
02-07.txt AC 41 ms 640 KB
02-08.txt AC 32 ms 640 KB
02-09.txt AC 46 ms 1024 KB
02-10.txt AC 37 ms 640 KB
02-11.txt AC 37 ms 640 KB
02-12.txt AC 35 ms 640 KB
02-13.txt AC 36 ms 640 KB
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB