Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- int a[100][100], n, m, d[100], c[100];
- bool viz[100];
- ifstream f("date.in");
- void citire()
- {
- int i, j, k;
- f>>n>>m;
- for(k=1; k<=m; k++)
- {
- f>>i>>j;
- a[i][j]=1;
- }
- }
- void lee(int start)
- {
- int p, u, i, x;
- for(i=1; i<=n; i++)
- {
- c[i]=0;
- d[i]=0;
- viz[i]=false;
- }
- p=u=1;
- c[1]=start;
- viz[start]=true;
- d[start]=0;
- while(p<=u)
- {
- x=c[p];
- for(i=1; i<=n; i++)
- if(a[x][i]==1 && viz[i]==false)
- {
- viz[i]=true;
- u++;
- c[u]=i;
- d[i]=d[x]+1;
- }
- p++;
- }
- }
- int main()
- {
- int i, j, ok,k=0;
- citire();
- cout<<"Matricea de adiacenta:";
- for(i=1; i<=n; i++)
- {
- cout<<endl;
- for(j=1; j<=n; j++)
- cout<<a[i][j]<<" ";
- }
- cout<<endl;
- for(i=1; i<=n; i++)
- {
- ok=1;
- for(j=1; j<=n; j++)
- {
- if(j!=i)
- {
- lee(j);
- if(d[i]==0)
- ok=0;
- }
- }
- if(ok==1)
- {
- k=1;
- cout<<endl<<i<<endl;
- }
- }
- if(!k)
- cout<<"\nNU EXISTA";
- }
- /*
- 5 6
- 1 4
- 2 1
- 4 2
- 4 3
- 5 4
- 5 1
- 5 5
- 3 1
- 4 1
- 4 2
- 5 1
- 5 3
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement