Submission #11209608


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for(int i = 0, i##_len = (n); i < i##_len; ++i)
#define rep2(i, x, n) for(int i = x, i##_len = (n); i < i##_len; ++i)
#define all(n) begin(n), end(n)
using ll = long long;
using P = pair<int, int>;
using vi = vector<int>;
using vl = vector<ll>;
using vs = vector<string>;
using vc = vector<char>;
using vb = vector<bool>;
using vd = vector<double>;
vi dir = {-1, 0, 1, 0, -1, -1, 1, 1, -1};

struct UnionFind {
  vector<int> d;
  UnionFind(int n) : d(n, -1) {}
  int root(int x) {
    if(d[x] < 0) return x;
    return d[x] = root(d[x]);
  }
  bool unite(int x, int y) {
    x = root(x);
    y = root(y);
    if(x == y) return false;
    if(d[x] > d[y]) swap(x, y);
    d[x] += d[y];
    d[y] = x;
    return true;
  }
  bool same(int x, int y) { return root(x) == root(y); }
  int size(int x) { return -d[root(x)]; }
};

int main() {
  int n, m;
  cin >> n >> m;
  UnionFind uf(m);
  vb e(m, false);
  rep(i, n) {
    int k, l0;
    cin >> k >> l0;
    l0--;
    e[l0] = true;
    rep(j, k - 1) {
      int l;
      cin >> l;
      l--;
      e[l] = true;
      uf.unite(l0, l);
    }
  }
  set<int> st;
  rep(i, m) if(e[i]) st.insert(uf.root(i));
  cout << (st.size() == 1 ? "YES" : "NO") << endl;
}

Submission Info

Submission Time
Task C - Interpretation
User ryochansq
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1321 Byte
Status AC
Exec Time 46 ms
Memory 640 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 2 ms 256 KB
01-10.txt AC 2 ms 256 KB
02-01.txt AC 32 ms 640 KB
02-02.txt AC 38 ms 256 KB
02-03.txt AC 32 ms 384 KB
02-04.txt AC 40 ms 640 KB
02-05.txt AC 38 ms 256 KB
02-06.txt AC 41 ms 640 KB
02-07.txt AC 40 ms 256 KB
02-08.txt AC 31 ms 256 KB
02-09.txt AC 46 ms 640 KB
02-10.txt AC 37 ms 384 KB
02-11.txt AC 37 ms 512 KB
02-12.txt AC 36 ms 384 KB
02-13.txt AC 36 ms 512 KB
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB