Advertisement
Guest User

Untitled

a guest
Feb 18th, 2020
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. //ofstream fout("prob1.out");
  4. vector <int> v[100010];
  5. int a[1000];
  6. int n,m,x,y,k,w;queue <int> q;bool check=false;
  7. bool viz[100010];
  8. void dfs(int nod){
  9.     viz[nod]=1;cout<<nod<<' ';
  10.     for(int i=0;i<v[nod].size();i++)
  11.     if(!viz[v[nod][i]])viz[v[nod][i]]=1,dfs(v[nod][i]);
  12. }
  13. void bfs(int s){
  14.     q.push(s);
  15.     viz[s]=1;
  16.     while(!q.empty()){
  17.         int s=q.front();cout<<s<<' ';
  18.         q.pop();
  19.         for(int i=0;i<v[s].size();i++){
  20.             if(!viz[v[s][i]])q.push(v[s][i]),viz[v[s][i]]=1;
  21.         }
  22.     }
  23. }
  24. void dfs1(int nod){
  25.     viz[nod]=1;
  26.     for(int i=0;i<v[nod].size();i++){
  27.         if(v[nod][i]==w){
  28.             cout<<"Este ciclu"<<endl;
  29.             check=true;return;
  30.         }else
  31.     if(!viz[v[nod][i]])viz[v[nod][i]]=1,dfs1(v[nod][i]);}
  32. }
  33. int main(){
  34.     ifstream cin("prob1.in");
  35.     //ofstream cout("prob1.out");
  36.     cin>>n>>m;
  37.     for(int i=1;i<=m;i++){
  38.         cin>>x>>y;
  39.         v[x].push_back(y);
  40.         v[y].push_back(x);
  41.     }
  42.     cout<<endl;
  43.     for(int i=1;i<=n;i++){
  44.         cout<<i<<':';
  45.         for(int j=v[i].size()-1;j>=0;j--)
  46.             cout<<v[i][j]<<' ';
  47.         cout<<endl;
  48.     }cout<<endl;cout<<"Dfs:";
  49.     for(int i=1;i<=n;i++)
  50.         if(!viz[i]){
  51.             dfs(i);
  52.             k++;
  53.         }cout<<endl;
  54.     for(int i=1;i<=n;i++)viz[i]=0;
  55.     if(k!=1)cout<<"Componente conexe :"<<k<<endl;else cout<<"Graful e conex"<<endl;
  56.     cout<<"Bfs:";
  57.     for(int i=1;i<=n;i++)
  58.         if(!viz[i]){
  59.             bfs(i);
  60.         }
  61.     return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement