Cod sursa(job #878245)

Utilizator ericqwAndreica Eric ericqw Data 14 februarie 2013 10:47:12
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
using namespace std;
ifstream f("submultimi.in");
ofstream g("submultimi.out");
int st[17],n,k,i;
void init(int k)
{
  st[k]=st[k-1];
}
int suc(int k)
{
 if (st[k]<n)
 {st[k]++;
 return 1;}
 else
 return 0;

}
int valid(int k)
{ for (i=1;i<k;i++)
     if (st[i]==st[k]||st[i]>st[k])
     return 0;
     return 1;
}
int tip(int k)
{
    for (i=1;i<=k;i++)
    g<<st[i]<<" ";
    g<<'\n';
}
int sol(int k)
{
    if (k<=n)
    return 1;
    else
    return 0;
}
int main()
{
st[0]=0;
f>>n;
k=1;
init(k);
while (k>0)
    {
        while (suc(k))
        {
         if (valid(k))
           if (sol(k))
           {
           tip(k);
           k++;
           init(k);}
        }
        k--;}
return 0;
}