Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream f("vot1.in");
- ofstream g("vot1.out");
- int n,nr,i,x,fr[1<<10];
- vector <int> V[1<<10];
- queue <int> Q;
- int main()
- {
- f>>n;
- for(i=1;i<=n;++i)
- {
- f>>x;
- V[i].push_back(x);
- fr[x]++;
- }
- for(i=1;i<=n;++i)
- if(!fr[i]) Q.push(i);
- while(!Q.empty())
- {
- x=Q.front();
- Q.pop();
- for(i=0;i<V[x].size();++i)
- {
- fr[V[x][i]]--;
- if(!fr[V[x][i]]) Q.push(V[x][i]);
- }
- }
- for(i=1;i<=n;++i) nr+=(fr[i]>0);
- g<<nr<<'\n';
- for(i=1;i<=n;++i)
- if(fr[i]) g<<i<<' ';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement