Pagini recente » Cod sursa (job #2319359) | Cod sursa (job #722509) | Cod sursa (job #55959) | Cod sursa (job #1226887) | Cod sursa (job #2883782)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("submultimi.in");
ofstream fout("submultimi.out");
int n;
struct a
{
int v[20];
}v[20];
bool cmp(a x, a y)
{
for(int i=1;i<=n;i++)
{
if(x.v[i]==0) return 1;
if(y.v[i]==0) return 0;
if(x.v[i]>y.v[i]) return 0;
else if(x.v[i]<y.v[i]) return 1;
}
}
int main()
{
fin >> n;
int p=(1<<n)-1;
for(int i=1;i<=p;i++)
{
int u=0;
for(int j=0;(1<<j)<=i;j++)
{
if(i&(1<<j))
{
u++;
v[i].v[u]=j+1;
}
}
}
sort(v+1,v+p+1,cmp);
for(int i=1;i<=p;i++)
{
int u=1;
while(v[i].v[u]!=0)
{
fout << v[i].v[u] << " ";
u++;
}
fout << "\n";
}
return 0;
}