Pagini recente » Cod sursa (job #1435295) | Cod sursa (job #288738) | Cod sursa (job #2870664) | Cod sursa (job #2495778) | Cod sursa (job #2213595)
#include <fstream>
using namespace std;
int n,v[20],cati;
bool vizitat[20];
ifstream cin("submultimi.in");
ofstream cout("submultimi.out");
void afiseste() {
for (int i = 0; i < cati; ++i) {
cout << v[i] << " ";
}
cout << "\n";
}
void backtracking(int k,int poz){
if(k == cati){
afiseste();
return;
}
for(int i = poz+1;i <= n-cati+k+1;i++){
if(!vizitat[i]){
v[k] = i;
vizitat[i] = true;
backtracking(k+1,i);
vizitat[i] = false;
}
}
}
int main(){
cin >> n;
for(cati = 1;cati <= n;cati++)
backtracking(0,0);
return 0;
}