Advertisement
Guest User

RUSLE UESTBROC

a guest
Feb 21st, 2020
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. #include<iostream>
  2. #include<fstream>
  3. #include<cmath>
  4. using namespace std;
  5. int x[100],a[100],b[100],n,m;
  6.  
  7. void citire()
  8. {ifstream f("date.in");
  9. f>>n>>m;
  10. for(int i=1;i<=m;i++)
  11. f>>a[i]>>b[i];
  12. }
  13.  
  14. int sol(int k)
  15. {int nf;
  16. if(k!=m) return 0;
  17. else {if(x[k]>0) nf=b[x[k]];
  18. else nf=a[x[k]];}
  19. if(nf==a[x[1]]) return 1;
  20. else return 0;
  21. }
  22.  
  23. int cond(int k)
  24. {int i,nf;
  25. for(i=1;i<=n;i++)
  26. if(abs(x[i])==abs(x[k])) return 0;
  27.  
  28. if(x[k-1]>0) nf=b[x[k-1]];
  29. else if(nf=b[x[k]]) return -1;
  30. else return 0;
  31. }
  32.  
  33. void afisare()
  34. {int i;
  35. cout<<a[x[1]]<<" ";
  36.  
  37. for(i=1;i<=n;i++)
  38. if(x[i]>0) cout<<b[x[i]]<<" ";
  39. else cout<<a[x[i]]<<" ";
  40. }
  41.  
  42. void back()
  43. {int i,k;
  44. k=2;
  45. x[1]=1;
  46.  
  47. while(k>1)
  48. {int gasit=0;
  49. while(k>1)
  50. {int gasit=0;
  51. while(gasit==0 && abs(x[k])<m)
  52. {x[k]=abs(x[k]) +1;
  53. gasit=cond(k);
  54. if(gasit==-1) {x[k]=-x[k];}
  55. if(gasit==1) x[k]--;
  56. else {if(sol(k)!=0) afisare(k);
  57. else{k++;
  58. x[k]=1;}}
  59. }
  60. }
  61. }
  62. }
  63.  
  64. int conex()
  65. {int i,j;
  66. parcurgere_DF(1);
  67. for(i=1;i<=n;i++)
  68. {d=0;
  69. for(j=1;j<=n;j++)
  70. if(a[j]==i || b[j]==i)
  71. d++;
  72. if(d%1==0 || b[j]==i)
  73. return 0;
  74. }
  75. return 1;
  76. }
  77.  
  78. int main()
  79. {citire();
  80. back();
  81. conex();
  82. pare();
  83.  
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement