CODE FESTIVAL 2016 Final

Submission #11209608

Source codeソースコード

#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

Task問題 C - Interpretation
User nameユーザ名 ryochansq
Created time投稿日時
Language言語 C++14 (GCC 5.4.1)
Status状態 AC
Score得点 400
Source lengthソースコード長 1321 Byte
File nameファイル名
Exec time実行時間 46 ms
Memory usageメモリ使用量 640 KB

Test case

Set

Set name Score得点 / Max score Cases
sample - sample-01.txt,sample-02.txt
dataset1 200 / 200 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 200 / 200 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

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
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