Submission #5742398
Source Code Expand
#include <stdio.h>
#include <algorithm>
#include <iostream>
#include <limits.h>
#include <math.h>
#include <queue>
#include <set>
#include <stdlib.h>
#include <string>
#include <vector>
#include <cstdio>
#include <iomanip>
#define ll long long
#define rep2(i,a,b) for(int i=a;i<=b;i++)
#define rep(i,n) for(int i=0;i<n;i++)
#define rep3(i,a,b) for(int i=a;i>=b;i--)
#define REP(e,v) for(auto e:v)
#define queint queue<int>
#define pii pair<int,int>
#define pll pair<ll,ll>
#define pq priority_queue<int>//大きい順
#define pqg priority_queue<int,vec,greater<int>>//小さい順
#define pb push_back
#define vec vector<int>
#define vecvec vector<vector<int>>
#define vecll vector<ll>
#define vecvecll vector<vector<ll>>
#define bs binary_search
#define All(c) (c).begin(),(c).end()
#define mp make_pair
using namespace std;
int in(){int x;scanf("%d",&x);return x;}
string stin(){string s;cin>>s;return s;}
ll lin(){ll x;scanf("%lld",&x);return x;}
struct UnionFindTree{
vec par,size,rank,height;//par[i]:iの親,size[i]:iの属する木の要素数,rank[i]:iが、自分の属する木の何階層目にあるか,height[i]:iを根とする部分木の高さ
int setNum;//木が何本あるか
UnionFindTree(int n):par(n),size(n),rank(n),height(n){
rep(i,n){
par[i]=i;
size[i]=1;
rank[i]=-1;
height[i]=1;
}
setNum=n;
}
int root(int x){
if(par[x]==x)return x;
return root(par[x]);
}
void unite(int x, int y){
int rx=root(x);
int ry=root(y);
if(rx==ry)return;
if(height[rx]<height[ry]){
par[rx]=ry;
size[ry]+=size[rx];
}else{
par[ry]=rx;
size[rx]+=size[ry];
if(height[rx]==height[y]){
height[rx]++;
}
}
setNum--;
}
bool same(int x, int y){
return root(x)==root(y);
}
int getSize(int x){//xの属する木の要素数
return size[root(x)];
}
int getSetNum(){//木の本数
return setNum;
}
int getRank(int x){//xが何階層目にあるか
if(par[x]==x)return 0;
return getRank(par[x])+1;
}
int getHeight(int x){//xの属する木の高さ
return height[root(x)];
}
};
int main(){
int n=in(),m=in();
vector<queue<int>> q(m);
rep(i,n){
int k=in();
rep(j,k){
q[in()-1].push(i);
}
}
UnionFindTree tree(n);
rep(i,m){
if(!q[i].empty()){
int t=q[i].front();
q[i].pop();
while(!q[i].empty()){
tree.unite(t,q[i].front());
q[i].pop();
}
}
}
if(tree.getSetNum()==1)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
Submission Info
Submission Time
2019-06-02 12:14:08+0900
Task
C - Interpretation
User
tonq
Language
C++14 (GCC 5.4.1)
Score
400
Code Size
2931 Byte
Status
AC
Exec Time
105 ms
Memory
69376 KB
Compile Error
./Main.cpp: In function ‘int in()’:
./Main.cpp:32:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
int in(){int x;scanf("%d",&x);return x;}
^
./Main.cpp: In function ‘long long int lin()’:
./Main.cpp:34:31: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
ll lin(){ll x;scanf("%lld",&x);return x;}
^
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, sample-01.txt, sample-02.txt
Case Name
Status
Exec Time
Memory
01-01.txt
AC
1 ms
256 KB
01-02.txt
AC
2 ms
896 KB
01-03.txt
AC
2 ms
896 KB
01-04.txt
AC
1 ms
256 KB
01-05.txt
AC
2 ms
384 KB
01-06.txt
AC
2 ms
896 KB
01-07.txt
AC
2 ms
640 KB
01-08.txt
AC
2 ms
896 KB
01-09.txt
AC
2 ms
640 KB
01-10.txt
AC
2 ms
896 KB
02-01.txt
AC
105 ms
67456 KB
02-02.txt
AC
21 ms
2432 KB
02-03.txt
AC
69 ms
34048 KB
02-04.txt
AC
100 ms
68352 KB
02-05.txt
AC
32 ms
8192 KB
02-06.txt
AC
97 ms
68352 KB
02-07.txt
AC
32 ms
8320 KB
02-08.txt
AC
18 ms
2176 KB
02-09.txt
AC
86 ms
69376 KB
02-10.txt
AC
55 ms
34816 KB
02-11.txt
AC
55 ms
34816 KB
02-12.txt
AC
57 ms
34816 KB
02-13.txt
AC
57 ms
34816 KB
sample-01.txt
AC
1 ms
256 KB
sample-02.txt
AC
1 ms
256 KB