Pagini recente » Cod sursa (job #477720) | Cod sursa (job #1136239) | Cod sursa (job #907191) | Cod sursa (job #92618) | Cod sursa (job #2528332)
#include <iostream>
#include <fstream>
using namespace std;
int ams,ev,n,st[10];
ifstream fin ("permutari.in");
ofstream fout ("permutari.out");
void tipar(int niv)
{
for(int i=1;i<=niv;i++)
{
fout<<st[i]<<" ";
}
fout<<'\n';
}
int pune_val(int niv)
{
int ok=0;
if(niv<=n&&st[niv]<n)
{
ok=1;st[niv]++;
}
return ok;
}
int validare(int niv)
{
int i,ok;ok=1;
for(i=1;i<niv;i++)
if(st[i]==st[niv])
ok=0;
return ok;
}
int solutie(int niv)
{
if(niv==n) return 1;
return 0;
}
int main()
{
fin>>n;
int k=1;
while(k>0)
{
do{ams=pune_val(k);
if(ams==1)
ev=validare(k);
}while(ams==1&&ev==0);
if(ams==1&&ev==1)
{
if(solutie(k)==1) tipar(k);
else{st[++k]=0;}
}
else
k--;
}
return 0;
}