Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include<bits/stdc++.h>
- using namespace std;
- ifstream fi("submultimiok.in");
- ofstream fo("submultimiok.out");
- int n, S[20], l, K, sol,v;
- int a[100],st[100];
- void bt(int q)
- {
- for(int i=S[q-1]+1; i<=n; i++)
- {
- S[q]=i;
- if(K==q)
- {
- sol++;
- for(int j=1; j<=q; j++)
- fo << " " << S[j];
- fo << '\n';
- }
- bt(q+1);
- }
- }
- void tipar (int n)
- {
- for (int i=1;i<=n;i++) cout<<st[i]<<" ";
- cout<<endl; v++;
- }
- void subArray(int arr[], int n)
- {
- for (int i=0; i <n; i++)
- {
- for (int j=i; j<n; j++)
- {
- for (int k=i; k<=j; k++)
- fo << arr[k] << " ";
- fo << endl; v++;
- }
- }
- }
- void back (int k)
- {
- for (int i=st[k-1]+1;i<=n;i++)
- {
- //st[k]=i;
- tipar(k);
- back (k+1);
- }
- }
- void lp(int k)
- {
- for (int i=k;i<=n-1;i++)
- a[i]=a[i+1];
- n--;
- }
- int main()
- {
- fi >> n >> K;
- for (int i=0;i<n;i++) fi>>a[i];
- for (int i=0;i<n;i++)
- for (int j=i+1;j<n;j++)
- if (a[i]==a[j]) lp (i);
- fo<<endl;
- subArray(a, n);
- fo << "\n Nr de solutii : " << v<<endl;
- fo << "\n\n Submultimi din " << n << " cate " << K << " :\n";
- bt(1);
- fo << "\n Nr de solutii : " << sol;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement