#include <iostream>
#include <vector>
// #include <bitset>
#include <algorithm>
// #include <map>
// #include <queue>
using namespace std;
vector<int> team(101,-1);
vector<vector<int> > a(101);
vector<int> ans;
void dfs(int u,int k){
team[u]=k;
if(k)ans.push_back(u);
for(int i=0;i<a[u].size();i++){
if(team[a[u][i]]==-1)
dfs(a[u][i],1-k);
}
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
while(x){
a[i].push_back(x);
cin>>x;
}
}
for(int i=1;i<=n;i++)
if(team[i]==-1)
dfs(i,0);
cout<<ans.size()<<endl;
cout<<ans[0];
for(int i=1;i<ans.size();i++)
cout<<' '<<ans[i];
}
#include <vector>
// #include <bitset>
#include <algorithm>
// #include <map>
// #include <queue>
using namespace std;
vector<int> team(101,-1);
vector<vector<int> > a(101);
vector<int> ans;
void dfs(int u,int k){
team[u]=k;
if(k)ans.push_back(u);
for(int i=0;i<a[u].size();i++){
if(team[a[u][i]]==-1)
dfs(a[u][i],1-k);
}
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
while(x){
a[i].push_back(x);
cin>>x;
}
}
for(int i=1;i<=n;i++)
if(team[i]==-1)
dfs(i,0);
cout<<ans.size()<<endl;
cout<<ans[0];
for(int i=1;i<ans.size();i++)
cout<<' '<<ans[i];
}
Comments
Post a Comment