Cod sursa(job #430334)
| Utilizator | Data | 30 martie 2010 22:07:37 | |
|---|---|---|---|
| Problema | Submultimi | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <cstdio>
using namespace std;
#define NMAX 20
long n, virgin = 1, st[NMAX];
void back(long k)
{
if (k == n + 1)
{
if (!virgin)
{
for (long i = 1; i <= k; ++i)
if (st[i])
printf("%ld ", i);
printf("\n");
}
virgin = 0;
}
else
{
for (long c = 0; c <= 1; ++c)
{
st[k] = c;
back(k + 1);
}
}
}
int main()
{
freopen ("submultimi.in", "rt", stdin);
freopen ("submultimi.out", "wt", stdout);
scanf("%ld", &n);
back(1);
return 0;
}
