This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<iostream>
#include<vector>
using namespace std;
int n,m,x,k,p,h,elem,r,R,nr;
int F[100010],F1[100010],c[100010];
vector<int>L[100010];
struct reactie{
int C; /// nr elemente cerute
int rez; /// nr elemente rezultate
int neobtinute;
vector<int>y; /// elementele rezultate
};
reactie v[100010];
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>x;
F[x]=1;
}
cin>>k;
for(int i=1;i<=k;i++){
cin>>v[i].rez>>v[i].C;
v[i].neobtinute=v[i].rez;
for(int j=1;j<=v[i].rez;j++){
cin>>x;
L[x].push_back(i);
if(F[x]==1){
v[i].neobtinute--;
if(v[i].neobtinute==0){
c[++h]=i;
F1[i]=1;
}
}
}
for(int j=1;j<=v[i].C;j++){
cin>>x;
v[i].y.push_back(x);
}
}
p=1;
while(p<=h){
r=c[p];
for(int i=0;i<v[r].y.size();i++){
elem=v[r].y[i];
if(F[elem]==0){
F[elem]=1;
for(int j=0;j<L[elem].size();j++){
R=L[elem][j];
if(F1[R]==0){
v[R].neobtinute--;
if(v[R].neobtinute==0){
c[++h]=R;
F1[R]=1;
}
}
}
}
}
p++;
}
for(int i=1;i<=n;i++){
if(F[i]==1){
nr++;
}
}
cout<<nr<<"\n";
for(int i=1;i<=n;i++){
if(F[i]==1){
cout<<i<<" ";
}
}
return 0;
}
Compilation message (stderr)
alkemija.cpp: In function 'int main()':
alkemija.cpp:45:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int i=0;i<v[r].y.size();i++){
~^~~~~~~~~~~~~~
alkemija.cpp:49:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int j=0;j<L[elem].size();j++){
~^~~~~~~~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |