Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. #include <fstream>
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4.  
  5. ifstream fi("submultimiok.in");
  6. ofstream fo("submultimiok.out");
  7.  
  8. int n, S[20], l, K, sol,v;
  9. int a[100],st[100];
  10. void bt(int q)
  11. {
  12. for(int i=S[q-1]+1; i<=n; i++)
  13. {
  14. S[q]=i;
  15. if(K==q)
  16. {
  17. sol++;
  18. for(int j=1; j<=q; j++)
  19. fo << " " << S[j];
  20. fo << '\n';
  21. }
  22. bt(q+1);
  23. }
  24. }
  25. void tipar (int n)
  26. {
  27. for (int i=1;i<=n;i++) cout<<st[i]<<" ";
  28. cout<<endl; v++;
  29. }
  30. void subArray(int arr[], int n)
  31. {
  32.  
  33. for (int i=0; i <n; i++)
  34. {
  35.  
  36. for (int j=i; j<n; j++)
  37. {
  38.  
  39. for (int k=i; k<=j; k++)
  40. fo << arr[k] << " ";
  41.  
  42. fo << endl; v++;
  43. }
  44. }
  45. }
  46. void back (int k)
  47. {
  48. for (int i=st[k-1]+1;i<=n;i++)
  49. {
  50. //st[k]=i;
  51. tipar(k);
  52. back (k+1);
  53. }
  54. }
  55.  
  56. void lp(int k)
  57. {
  58. for (int i=k;i<=n-1;i++)
  59. a[i]=a[i+1];
  60. n--;
  61. }
  62.  
  63. int main()
  64. {
  65. fi >> n >> K;
  66. for (int i=0;i<n;i++) fi>>a[i];
  67.  
  68. for (int i=0;i<n;i++)
  69. for (int j=i+1;j<n;j++)
  70. if (a[i]==a[j]) lp (i);
  71.  
  72. fo<<endl;
  73.  
  74. subArray(a, n);
  75. fo << "\n Nr de solutii : " << v<<endl;
  76. fo << "\n\n Submultimi din " << n << " cate " << K << " :\n";
  77. bt(1);
  78. fo << "\n Nr de solutii : " << sol;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement