Cod sursa(job #1408302)
| Utilizator | Data | 29 martie 2015 23:01:54 | |
|---|---|---|---|
| Problema | Submultimi | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.71 kb |
#include <cstdio>
using namespace std;
int x[20], n;
void afisare (int k)
{
int i;
for (i=1; i<=k; i++) printf ("%d ", x[i]);
printf ("\n");
}
int valid (int k)
{
int i;
for (i=1; i<k; i++) if (x[i]>=x[k]) return 0;
return 1;
}
void Back (int k)
{
int i;
for (i=1; i<=n; i++)
{
x[k]=i;
if (valid(k))
{
if (k<=n)
{
afisare (k);
}
if (k<n)
{
Back (k+1);
}
}
}
}
int main()
{
freopen ("submultimi.in", "r", stdin);
freopen ("submultimi.out", "w", stdout);
scanf ("%d", &n);
Back (1);
}
