Cod sursa(job #503446)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 22 noiembrie 2010 22:07:22
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include<cstdio>
int valid(int st[50],int k)
{int i;
for(i=1;i<k;i++)
if(st[i]==st[k])
       return 0;
return 1;}

void tipar(int st[50],int k)
{int i;
for(i=1;i<=k;i++)
      printf("%d ",st[i]);
printf("\n");}

int main()
{int n,p,k,st[50];
freopen("submultimi.in","rt",stdin);
freopen("submultimi.out","wt",stdout);
scanf("%d",&n);
for(p=1;p<=n;p++)
     {k=1;
     st[k]=0;
     while(k>0)
             {st[k]++;
             if(valid(st,k)==1)
                      if(st[k]<=n)
                              if(k==p)
                                      tipar(st,k);
                              else
                                      {k++;
                                      st[k]=st[k-1];}
                      else
                              k--;}}
fclose(stdin);
fclose(stdout);
return 0;}