Cod sursa(job #1008962)
| Utilizator | Data | 12 octombrie 2013 12:29:55 | |
|---|---|---|---|
| Problema | Submultimi | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <fstream>
#define Nmax 20
using namespace std;
ifstream f("submultimi.in");
ofstream g("submultimi.out");
int N,st[Nmax],used[Nmax];
inline void Print(int k)
{
for(int i=1;i<k;++i)g<<st[i]<<' ';
g<<'\n';
}
void Back(int k)
{
if(k>1)Print(k);
if(k>N+1-st[1])return;
for(int i=st[k-1]+1;i<=N;++i)
if(!used[i])
{
st[k]=i; used[i]=1;
Back(k+1);
used[i]=0;
}
}
int main()
{
f>>N;
Back(1);
f.close();g.close();
return 0;
}
