Pagini recente » Cod sursa (job #1045264) | Autentificare | Cod sursa (job #518049) | Cod sursa (job #2394406) | Cod sursa (job #999834)
Cod sursa(job #999834)
#include<fstream>
using namespace std;
int stiva[20],n,k;
ofstream outFile;
bool valid(int nivel);
void print();
void generare(int nivel);
int main(){
ifstream inFile("submultimi.in");
inFile>>n;
outFile.open("submultimi.out");
for(int i=1;i<=n;i++) outFile<<i<<"\n";
for(k=2;k<=n-1;k++) generare(1);
for(int i=1;i<=n;i++) outFile<<i<<" ";
}
bool valid(int nivel){
bool t=true;
for(int i=1;i<nivel;i++) if(stiva[nivel]==stiva[i] || stiva[i]>stiva[i+1]) t=false;
return t;
}
void print(){
for(int i=1;i<=k;i++) outFile<<stiva[i]<<" ";
outFile<<"\n";
}
void generare(int nivel){
if(nivel==k+1) print();
else for(int i=1;i<=n;i++){
stiva[nivel]=i;
if(valid(nivel)) generare(nivel+1);
}
}