Cod sursa(job #799568)
| Utilizator | Data | 19 octombrie 2012 13:41:15 | |
|---|---|---|---|
| Problema | Submultimi | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
#include<fstream>
using namespace std;
#define NMAX 20
ifstream f("submultimi.in");
ofstream g("submultimi.out");
int n, x[NMAX],k ,s[NMAX];
inline void afis()
{
if(s[n])
{
for(int i = 1; i <= n; ++i)
if(x[i]) g<<i<<' ';
g<<'\n';
}
}
void back()
{
k = 1, x[k] = -1;
do
{
while(x[k] < 1)
{
x[k]++;
s[k] = s[k - 1]+ x[k];
if(k == n) afis();
else x[++k] = -1;
}
k--;
}
while(k);
}
int main()
{
f>>n;
back();
g.close();
return 0;
}
