Pagini recente » Cod sursa (job #2690566) | Cod sursa (job #2252500) | Cod sursa (job #1141153) | Cod sursa (job #3163565) | Cod sursa (job #979904)
Cod sursa(job #979904)
#include <fstream>
#define IN "submultimi.in"
#define OUT "submultimi.out"
#define NMAX 17
using namespace std;
ifstream in(IN);
ofstream out(OUT);
int N, v[NMAX];
bool c[NMAX];
inline int pow(int baza, int exp)
{
int rez=1;
while(exp)
{
if(exp%2==1)
rez*=baza;
baza*=baza;
exp/=2;
}
return rez;
}
inline void scrie()
{
int i;
for(i=1; i<=N; ++i)
if(c[i])
out<<v[i]<<' ';
out<<'\n';
}
inline void scriec()
{
int i;
for(i=1; i<=N; ++i)
out<<c[i]<<' ';
out<<'\n';
}
inline void solve()
{
int i, gata, M;
M=pow(2,N)-1;
//out<<N<<endl;
while(M)
{
i=1;
gata=0;
while(gata==0)//gata=0
if(c[i]==0)
c[i]++,
gata=1;
else//v[i]==1
c[i]=0,
++i;
scrie();
//scriec();
--M;
}
}
int main()
{
in>>N;
int i;
for(i=1; i<=N; ++i)
v[i]=i;
solve();
in.close();
out.close();
return 0;
}