Submission #991902
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
inline int toInt(string s) {int v; istringstream sin(s);sin>>v;return v;}
template<class T> inline string toString(T x) {ostringstream sout;sout<<x;return sout.str();}
typedef long long ll;
typedef pair<ll,ll> P;
const int INF=INT_MAX / 3;
const ll LINF=LLONG_MAX / 3LL;
#define CONST 1000000007
#define EPS (1e-8)
#define PB push_back
#define MP make_pair
#define sz(a) ((int)(a).size())
#define reps(i,n,m) for(int i=(n);i<int(m);i++)
#define rep(i,n) reps(i,0,n)
#define SORT(a) sort((a).begin(),(a).end())
ll mod(ll a,ll m){return (a%m+m)%m;}
int dx[9]={0,1,0,-1,1,1,-1,-1,0},dy[9]={1,0,-1,0,1,-1,1,-1,0};
typedef vector<int> VI;
typedef vector<VI> VVI;
struct unionFind {
VI par, rank;
int n;
void init(int x) {
n = x;
par.resize(n);
rank.resize(n);
rep(i,n) {
par[i] = i;
rank[i] = 0;
}
}
int root (int x) {
if (par[x] == x) {
return x;
}
return par[x] = root(par[x]);
}
bool same (int x, int y) {
return root(x) == root(y);
}
void unite (int x, int y) {
x = root(x);
y = root(y);
if (x==y) return;
if(rank[x]<rank[y]) {
par[x] = y;
} else {
par[y] = x;
if(rank[x]==rank[y]) rank[x]++;
}
}
int treeNum () {
set<int> s;
rep(i,n) {
s.insert(root(i));
}
return s.size();
}
};
ll n,m;
int main(){
cin>>n>>m;
unionFind uf;
uf.init(n + m);
rep(i,n){
int k;
cin>>k;
rep(j,k){
int l;
cin>>l;
uf.unite(i, n+l-1);
}
}
bool flg=true;
rep(i,n){
if(!uf.same(0,i))flg=false;
}
cout<<(flg?"YES":"NO")<<endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
C - Interpretation |
User |
udondon |
Language |
C++14 (GCC 5.4.1) |
Score |
400 |
Code Size |
1741 Byte |
Status |
AC |
Exec Time |
49 ms |
Memory |
1792 KB |
Judge Result
Set Name |
sample |
dataset1 |
dataset2 |
Score / Max Score |
0 / 0 |
200 / 200 |
200 / 200 |
Status |
|
|
|
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 |
256 KB |
01-04.txt |
AC |
3 ms |
256 KB |
01-05.txt |
AC |
3 ms |
256 KB |
01-06.txt |
AC |
3 ms |
256 KB |
01-07.txt |
AC |
3 ms |
256 KB |
01-08.txt |
AC |
3 ms |
256 KB |
01-09.txt |
AC |
3 ms |
256 KB |
01-10.txt |
AC |
3 ms |
256 KB |
02-01.txt |
AC |
34 ms |
1024 KB |
02-02.txt |
AC |
40 ms |
1024 KB |
02-03.txt |
AC |
33 ms |
768 KB |
02-04.txt |
AC |
44 ms |
1408 KB |
02-05.txt |
AC |
41 ms |
896 KB |
02-06.txt |
AC |
43 ms |
1408 KB |
02-07.txt |
AC |
46 ms |
1024 KB |
02-08.txt |
AC |
34 ms |
1024 KB |
02-09.txt |
AC |
49 ms |
1792 KB |
02-10.txt |
AC |
39 ms |
1024 KB |
02-11.txt |
AC |
39 ms |
1024 KB |
02-12.txt |
AC |
38 ms |
1024 KB |
02-13.txt |
AC |
38 ms |
1024 KB |
sample-01.txt |
AC |
3 ms |
256 KB |
sample-02.txt |
AC |
3 ms |
256 KB |