Advertisement
a53

LantMaxim1

a53
May 15th, 2022
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. ifstream fin("lantmaxim1.in");
  5. ofstream fout("lantmaxim1.out");
  6. int n, a[105][105], x[105], q, xmax[105], kmax = 0;
  7.  
  8. void afis(int x[], int k)
  9. {
  10. for(int i = 1 ; i <= k ; ++ i)
  11. fout << x[i] << " ";
  12. fout << "\n";
  13. }
  14.  
  15. int OK(int k)
  16. {
  17. if(k>1)
  18. if(a[x[k-1]][x[k]] != 1)
  19. return 0;
  20. for(int i=1; i<k ; ++i)
  21. if(x[k]==x[i])
  22. return 0;
  23. return 1;
  24. }
  25.  
  26. void verifica(int k)
  27. {
  28. if(k > kmax)
  29. {
  30. kmax=k;
  31. for(int i=1; i<=k; ++i)
  32. xmax[i]=x[i];
  33. }
  34. }
  35.  
  36. void back(int k)
  37. {
  38. for(int i=1; i<=n; ++i)
  39. {
  40. x[k]=i;
  41. if(OK(k))
  42. {
  43. if(x[k]==q)
  44. verifica(k);
  45. else
  46. back(k + 1);
  47. }
  48. }
  49. }
  50.  
  51. int main()
  52. {
  53. int i, j, m;
  54. fin>>n>>m;
  55. while(m>0)
  56. {
  57. fin>>i>>j;
  58. a[i][j]=a[j][i]=1;
  59. m --;
  60. }
  61. fin>>q;
  62. back(1);
  63. afis(xmax, kmax);
  64. return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement