Cod sursa(job #677893)

Utilizator nautilusCohal Alexandru nautilus Data 10 februarie 2012 19:31:53
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<fstream>
using namespace std;
#define NMAX 20

int n;
int sol[NMAX];

ofstream fout("submultimi.out");

void read()
{
 ifstream fin("submultimi.in");
 fin>>n;
 fin.close();
}

void write()
{
 int i;
 for (i=1; i<=n; ++i)
	 if (sol[i])
		 fout<<i<<" ";
 fout<<'\n';
}

void solve()
{
 int i,nr = 0;
 while (nr < (1 << n) - 1)
	{
	 nr++;
	 sol[n]++;
	 i=n;
	 while (sol[i] == 2)
		{
		 sol[i] = 0;
		 sol[i-1]++;
		 i--;
		}
	 write();
	}
}

int main()
{
 read();
 solve();
 fout.close();
 return 0;
}