Submission #992294


Source Code Expand

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0; i < n; i++)
#define PI       3.1415926535897932384626433832795028841971
#define INF      5000000000000000000
#define EPS      1e-10
#define MOD      1000000007
using namespace std;
typedef long long ll;
typedef pair<ll,int> P;

struct UF{
	int par[100000];
	int rank[100000];
	int si[100000];

	void init(int n){
		rep(i,n){
			par[i] = i;
			rank[i] = 0;
			si[i] = 1;
		}
	}

	int find(int x){
		if(par[x] == x) return x;
		else return par[x] = find(par[x]);
	}

	void unite(int x, int y){
		x = find(x);
		y = find(y);
		if(x == y) return;
		
		if(rank[x] < rank[y]){
			par[x] = y;
			si[y] += si[x];
		} else{
			par[y] = x;
			if(rank[x] == rank[y]) rank[x]++;
			si[x] += si[y];
		}
	}

	bool same(int x, int y){
		return find(x) == find(y);
	}
};

int n, m;
int k;
UF uf;
vector<int> e[100000];

int main(){
    cin >> n >> m;
    uf.init(n);
    rep(i,n){
        int k;
        cin >> k;
        rep(j,k){
            int m;
            cin >> m;
            m--;
            e[m].push_back(i);
        }
    }
    rep(i,m){
        for(int j = 1; j < e[i].size(); j++){
            uf.unite(e[i][0],e[i][j]);
        }
    }
    int cnt = 0;
    rep(i,n){
        if(uf.par[i] == i){
            cnt++;
        }
    }
    if(cnt > 1) cout << "NO" << endl;
    else cout << "YES" << endl;
}

Submission Info

Submission Time
Task C - Interpretation
User gasin
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1439 Byte
Status AC
Exec Time 60 ms
Memory 4992 KB

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 4 ms 2560 KB
01-02.txt AC 5 ms 2560 KB
01-03.txt AC 5 ms 2688 KB
01-04.txt AC 5 ms 2560 KB
01-05.txt AC 5 ms 2560 KB
01-06.txt AC 5 ms 2560 KB
01-07.txt AC 5 ms 2560 KB
01-08.txt AC 5 ms 2560 KB
01-09.txt AC 5 ms 2560 KB
01-10.txt AC 5 ms 2560 KB
02-01.txt AC 47 ms 4608 KB
02-02.txt AC 53 ms 4352 KB
02-03.txt AC 50 ms 4096 KB
02-04.txt AC 59 ms 4608 KB
02-05.txt AC 58 ms 4352 KB
02-06.txt AC 60 ms 4608 KB
02-07.txt AC 59 ms 4480 KB
02-08.txt AC 47 ms 4352 KB
02-09.txt AC 60 ms 4348 KB
02-10.txt AC 52 ms 4992 KB
02-11.txt AC 52 ms 4992 KB
02-12.txt AC 51 ms 4864 KB
02-13.txt AC 54 ms 4864 KB
sample-01.txt AC 4 ms 2560 KB
sample-02.txt AC 4 ms 2560 KB