Advertisement
nicuvlad76

Untitled

Nov 26th, 2020
432
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. #include <fstream>
  2. #define  N 101
  3. using namespace std;
  4. ifstream fin("dfs.in");
  5. ofstream fout("dfs.out");
  6. struct nod
  7. {
  8.     int info;
  9.     nod*urm;
  10. }*L[N];
  11. bool viz[N];
  12. int n,m,nd;
  13. void Citire()
  14. {
  15.     fin>>n>>m>>nd;
  16.     int x,y;
  17.     nod*p;
  18.     while(fin>>x>>y)
  19.     {
  20.         p=new nod;
  21.         p->info=y;
  22.         p->urm=L[x];
  23.         L[x]=p;
  24.         p=new nod;
  25.         p->info=x;
  26.         p->urm=L[y];
  27.         L[y]=p; ///neorien
  28.     }
  29. }
  30. void Sortare(int nd)
  31. {
  32.     int aux;
  33.     for(nod*p=L[nd]; p->urm; p=p->urm)
  34.         for(nod*q=p->urm; q; q=q->urm)
  35.             if(p->info>q->info)
  36.             {
  37.                 aux=p->info;
  38.                 p->info=q->info;
  39.                 q->info=aux;
  40.             }
  41. }
  42. void DFS(int nd)
  43. {
  44.     nod*p;
  45.     fout<<nd<<' ';
  46.     p=L[nd];
  47.     viz[nd]=1;
  48.     while(p)
  49.     {
  50.         if(viz[p->info]==0) DFS(p->info);
  51.         p=p->urm;
  52.     }
  53. }
  54.  
  55. int main()
  56. {
  57.     Citire();
  58.     for(int i=1;i<=n;i++)
  59.         Sortare(i);
  60.     DFS(nd);
  61.     return 0;
  62. }
  63.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement