Cod sursa(job #786951)

Utilizator stefanzzzStefan Popa stefanzzz Data 12 septembrie 2012 13:53:10
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
using namespace std;
ifstream f("submultimi.in");
ofstream g("submultimi.out");

int n,i,comb[20];

bool next();

int main()
{
    int j;
    f>>n;
    for(i=1;i<=n;i++){
        for(j=1;j<=i;j++){
            g<<j<<' ';
            comb[j]=j;}
        g<<'\n';
        while(next()){
            for(j=1;j<=i;j++)
                g<<comb[j]<<' ';
            g<<'\n';}}
    f.close();
    g.close();
    return 0;
}

bool next(){
    int j;
    if(comb[i]<n){
        comb[i]++;
        return 1;}
    for(j=i-1;j>=1&&comb[j]==n-i+j;j--);
    if(!j)
        return 0;
    comb[j]++;
    for(++j;j<=i;j++)
        comb[j]=comb[j-1]+1;
    return 1;}