fork(1) download
  1. #include <iostream>
  2. #include <cstdio>
  3. using namespace std;
  4.  
  5. int main() {
  6. int adj[105][105]={0}, b[105]={0}, g[105]={0}, f, cnt, flag=0, n;
  7. scanf("%d", &n);
  8. for(int i=0; i<n; i++) {
  9. cnt=0;
  10. while(true) {
  11. scanf("%d", &f);
  12. if(f==0 && cnt==0) {flag=1; break;}
  13. else if(f==0) break;
  14. adj[i][f-1]=1, cnt++;
  15. }
  16. }
  17. cnt=0;
  18. for(int i=0; i<n; i++) {
  19. for(int j=0; j<n; j++) {
  20. if(adj[i][j]==1 && b[j]==0) {
  21. b[i]=b[j]=1;
  22. if(g[i]==1) g[j]=2;
  23. else g[j]=1, cnt++;
  24. }
  25. }
  26. }
  27. if(flag==1) printf("0");
  28. else {
  29. printf("%d\n", cnt);
  30. for(int i=0; i<n; i++) if(g[i]==1) printf("%d ", i+1);
  31. }
  32. return 0;
  33. }
Success #stdin #stdout 0s 3300KB
stdin
7
2 3 0
3 1 0
1 2 4 5 0
3 0
3 0
7 0
6 0
stdout
3
2 3 7