Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define N 41
- using namespace std;
- ifstream fin("partitiinumar2.in");
- ofstream fout("partitiinumar2.out");
- int x[N],s,n,m;
- bool viz[N];
- bool SolFin(int k){return s==n;}
- bool Valid(int k){return x[k]>=x[k-1];}
- void Afisare(int k){
- int i;
- for(i=1;i<=k;++i) fout<<x[i]<<' ';
- fout<<'\n';
- }
- void Back(int k){
- int i;
- for(i=1;i<=n-s;++i){
- if(viz[i]==0){
- viz[i]=1;
- x[k]=i;
- s+=x[k];
- if(Valid(k)){
- if(SolFin(k) && k>=m) Afisare(k);
- else Back(k+1);
- }
- viz[i]=0;
- s-=x[k];
- }
- }
- }
- int main()
- {
- fin>>n>>m;
- Back(1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement