Submission #1832237
Source Code Expand
#include <bits/stdc++.h> #define fr first #define sc second #define pb push_back #define mk make_pair using namespace std; const int N = 1e5 + 7; int k, a; vector<pair<int, int>>v; pair<bool, int>u[N]; vector<int>g[N]; bool used[N]; bool us[N]; void dfs(int vv) { us[v[vv].sc] = 1; used[vv] = 1; // cout << v[vv].fr << " " << vv << endl; int l = vv; while (v[l].sc == v[vv].sc) { l--; } l++; int pos = l; for (int i = 0; i < g[vv].size(); i++) { int to = g[vv][i]; if (!used[to]) dfs(to); } if (v[vv].sc != 1) for (int j = pos; j < v.size(); j++) { if (v[j].sc != v[vv].sc) break; if (!used[j]) dfs(j); } } main() { int n, m; cin >> n >> m; for (int i = 1; i <= n; i++) { scanf("%d",&k); for (int j = 1; j <= k; j++) { scanf("%d",&a); v.pb(mk(a, i)); } } for (int i = 0; i < v.size(); i++) { if (u[v[i].fr].fr && v[i].sc != v[u[v[i].fr].sc].sc) { g[u[v[i].fr].sc].pb(i); g[i].pb(u[v[i].fr].sc); } u[v[i].fr] = (mk(1, i)); } for(int i = 0; i < v.size(); i++) { if (v[i].sc != 1) { break; } if (g[i].size() > 0){ dfs(i); memset(used, 0, sizeof(used)); } else us[1] = 1; } for (int i = 1; i <= n; i++) { if (!us[i]) { cout << "NO"; return 0; } } cout << "YES"; }
Submission Info
Submission Time | |
---|---|
Task | C - Interpretation |
User | vjudge3 |
Language | C++14 (Clang 3.8.0) |
Score | 0 |
Code Size | 1620 Byte |
Status | CE |
Compile Error
./Main.cpp:1:10: fatal error: 'bits/stdc++.h' file not found #include <bits/stdc++.h> ^ 1 error generated.