Advertisement
PopaLepo

Generare grafuri partiale orientate

Mar 1st, 2017
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4. ifstream f("date.txt");
  5. int n,x[100],m,nrsol=0;
  6. struct arc{int ei,ef;};
  7. arc v[100];
  8.  
  9. void citire(int &n,int &m)
  10. {
  11. int x1,x2;
  12. f>>n>>m;
  13. for(int i=1;i<=m;i++)
  14. {f>>x1>>x2;
  15. v[i].ei=x1;
  16. v[i].ef=x2;
  17. }}
  18.  
  19. int valid(int k)
  20. {return 1;}
  21.  
  22. int sol(int k)
  23. {return k==m;}
  24.  
  25. void tipar(int k)
  26. {
  27. nrsol++;
  28. for(int i=1;i<=k;i++)
  29. if(x[i]==1)
  30. cout<<"("<<v[i].ei<<" , "<<v[i].ef<<")"<<" ";
  31. cout<<endl;}
  32.  
  33. void BKT()
  34. {int k=1;
  35. x[k]=-1;
  36. while(k!=0)
  37. if(x[k]<1)
  38. {x[k]=x[k]+1;
  39. if(valid(k))
  40. if(sol(k))
  41. tipar(k);
  42. else
  43. {k++;
  44. x[k]=-1;}}
  45. else
  46. k--;}
  47.  
  48. int main()
  49. { citire(n,m);
  50. BKT();
  51. cout<<endl<<nrsol;
  52. return 0;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement