Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- #include <vector>
- using namespace std;
- int n,x,i,j,ciclu;
- vector <int> v[305],sol;
- int find_cycle(int t,int m,int q,int &ciclu)
- {
- if (q!=1 && t==m)
- ciclu=1;
- for (auto p:v[t])
- {
- if (!ciclu)
- find_cycle(p,m,q+1,ciclu);
- }
- }
- int main()
- {
- cin>>n;
- for (i=1; i<=n; ++i)
- {
- for (j=1; j<=n; ++j)
- {
- cin>>x;
- if (x && i!=j) v[i].push_back(j);
- else if (x && i==j) sol.push_back(i);
- }
- }
- for (i=1; i<=n; ++i)
- {
- ciclu=0;
- find_cycle(i,i,1,ciclu);
- if (ciclu) sol.push_back(i);
- }
- sort(sol.begin(),sol.end());
- cout<<"{";
- for (i=0; i<sol.size(); ++i)
- cout<<sol[i]<<",";
- cout<<"}";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement