Submission #991758


Source Code Expand

#ifdef DEBUG
#define _GLIBCXX_DEBUG
#endif

#include <bits/stdc++.h>

using namespace std;

mt19937 mrand(random_device{} ()); 

int rnd(int x) {
  return mrand() % x;
}

typedef long double ld;
typedef long long ll;

#ifdef DEBUG
#define eprintf(...) fprintf(stderr, __VA_ARGS__), fflush(stderr)
#else
#define eprintf(...) ;
#endif

#define pb push_back
#define mp make_pair
#define sz(x) ((int) (x).size())
#define TASK "text"

const int inf = (int) 1.01e9;
const ld eps = 1e-9;
const ld pi = acos((ld) -1.0);

void precalc() {
}

const int maxn = (int) 2e5 + 10;

vector<vector<int> > es;
int n, m;

int read() {
  if (scanf("%d%d", &n, &m) < 2) {
    return 0;
  }
  es = vector<vector<int> >(n + m);
  for (int i = 0; i < n; ++i) {
    int k;
    scanf("%d", &k);
    for (int j = 0; j < k; ++j) {
      int x;
      scanf("%d", &x);
      --x;
      int s = i, t = x + n;
      es[s].pb(t), es[t].pb(s);
    }
  }
  return 1;
}

int used[maxn];

void dfs(int v) {
  used[v] = 1;
  for (int u : es[v]) {
    if (used[u]) {
      continue;
    }
    dfs(u);
  }
}

void solve() {
  for (int i = 0; i < n + m; ++i) {
    used[i] = 0;
  }

  dfs(0);

  if (count(used, used + n, 1) != n) {
    printf("NO\n");
  } else {
    printf("YES\n");
  }
}

int main() {
  precalc();
#ifdef LOCAL
  freopen(TASK ".out", "w", stdout);
  assert(freopen(TASK ".in", "r", stdin));
#endif

  while (1) {
    if (!read()) {
      break;
    }
    solve();
#ifdef DEBUG
    eprintf("Time %.2f\n", (double) clock() / CLOCKS_PER_SEC);
#endif
  }
  return 0;
}

Submission Info

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

Compile Error

./Main.cpp: In function ‘int read()’:
./Main.cpp:48:20: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &k);
                    ^
./Main.cpp:51:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
       scanf("%d", &x);
                      ^

Judge Result

Set Name sample dataset1 dataset2
Score / Max Score 0 / 0 200 / 200 200 / 200
Status
AC × 2
AC × 12
AC × 25
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 3 ms 256 KB
01-02.txt AC 3 ms 256 KB
01-03.txt AC 3 ms 384 KB
01-04.txt AC 3 ms 256 KB
01-05.txt AC 3 ms 256 KB
01-06.txt AC 3 ms 384 KB
01-07.txt AC 3 ms 256 KB
01-08.txt AC 3 ms 384 KB
01-09.txt AC 3 ms 256 KB
01-10.txt AC 3 ms 384 KB
02-01.txt AC 30 ms 6016 KB
02-02.txt AC 34 ms 6528 KB
02-03.txt AC 30 ms 4480 KB
02-04.txt AC 46 ms 7680 KB
02-05.txt AC 37 ms 6272 KB
02-06.txt AC 44 ms 7680 KB
02-07.txt AC 38 ms 6528 KB
02-08.txt AC 29 ms 6520 KB
02-09.txt AC 35 ms 9208 KB
02-10.txt AC 28 ms 6520 KB
02-11.txt AC 28 ms 6520 KB
02-12.txt AC 29 ms 6528 KB
02-13.txt AC 29 ms 6400 KB
sample-01.txt AC 3 ms 256 KB
sample-02.txt AC 3 ms 256 KB