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.