Pagini recente » Cod sursa (job #838207) | Cod sursa (job #596651) | Cod sursa (job #1162492) | Monitorul de evaluare | Cod sursa (job #2436189)
#include <bits/stdc++.h>
using namespace std;
int ans[17], n, cate;
bool check(int k)
{
for(int i = 1; i < k; ++i) if(ans[i] == ans[k]) return 0;
for(int i = 1; i < k; ++i) if(ans[i] > ans[k]) return 0;
return 1;
}
void solve(int k)
{
for(int i = 1; i <= n; ++i) {
ans[k] = i;
if(check(k)) {
for(int i = 1; i <= k; ++i) printf("%d ", ans[i]);
printf("\n");
if(k != n) solve(k + 1);
}
}
}
int main()
{
freopen("submultimi.in", "r", stdin);
freopen("submultimi.out", "w", stdout);
scanf("%d", &n);
solve(1);
return 0;
}