Submission #991926


Source Code Expand

#ifdef DEBUG
#define _GLIBCXX_DEBUG
#endif

#include <bits/stdc++.h>

using namespace std;

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);

mt19937 mrand(random_device{} ()); 

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

void precalc() {
}

const int maxn = (int) 1e5 + 5;
int n, m;
vector<int> g[2][maxn];
int used[2][maxn];

int read() {
  if (scanf("%d%d", &n, &m) < 2) {
    return false;
  }
  for (int it = 0; it < 2; it++) {
    for (int i = 0; i < max(n, m); i++) {
      g[it][i].clear();
      used[it][i] = 0;
    }
  }
  for (int i = 0; i < n; i++) {
    int k;
    scanf("%d", &k);
    for (int j = 0; j < k; j++) {
      int l;
      scanf("%d", &l);
      l--;
      g[0][i].push_back(l);
      g[1][l].push_back(i);
    }
  }
  return true;
}

void dfs(int t, int v) {
  used[t][v] = 1;
  for (int i = 0; i < sz(g[t][v]); i++) {
    int u = g[t][v][i];
    if (!used[t ^ 1][u]) {
      dfs(t ^ 1, u);
    }
  }
}

void solve() {
  dfs(0, 0);
  for (int i = 0; i < n; i++) {
    if (!used[0][i]) {
      printf("NO\n");
      return;
    }
  }
  printf("YES\n");
}

int main() {
  precalc();
#ifdef LOCAL
  assert(freopen(TASK ".in", "r", stdin));
  assert(freopen(TASK ".out", "w", stdout));
#endif
  while (true) {
    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 aid
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1776 Byte
Status AC
Exec Time 44 ms
Memory 9600 KB

Compile Error

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

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 7 ms 4992 KB
01-02.txt AC 7 ms 4992 KB
01-03.txt AC 7 ms 4992 KB
01-04.txt AC 8 ms 4992 KB
01-05.txt AC 8 ms 4992 KB
01-06.txt AC 8 ms 4992 KB
01-07.txt AC 8 ms 4992 KB
01-08.txt AC 8 ms 4992 KB
01-09.txt AC 7 ms 4992 KB
01-10.txt AC 8 ms 4992 KB
02-01.txt AC 34 ms 8832 KB
02-02.txt AC 36 ms 9344 KB
02-03.txt AC 35 ms 8448 KB
02-04.txt AC 44 ms 8832 KB
02-05.txt AC 41 ms 9600 KB
02-06.txt AC 43 ms 8832 KB
02-07.txt AC 41 ms 9216 KB
02-08.txt AC 32 ms 9208 KB
02-09.txt AC 35 ms 9208 KB
02-10.txt AC 30 ms 8824 KB
02-11.txt AC 31 ms 8824 KB
02-12.txt AC 31 ms 8704 KB
02-13.txt AC 31 ms 8832 KB
sample-01.txt AC 7 ms 4992 KB
sample-02.txt AC 7 ms 4992 KB