Pagini recente » Cod sursa (job #2833069) | Cod sursa (job #2178355) | Cod sursa (job #1650890) | Cod sursa (job #565633) | Cod sursa (job #1514929)
#include <fstream>
using namespace std;
int st[9], n;
ofstream h ("permutari.out");
int succesor(int k)
{
if (st[k]<n)//pui aici cate nr
{
st[k]++;
return 1;
}
else
return 0;
}
int afis()
{
int i;
for(i=1;i<=n;i++)
h<<st[i]<<" ";
h<<endl;
}
int valid(int k)
{
for(int i=1;i<k;i++)
if(st[i]==st[k])
return 0;
return 1;
}
int bk()
{
int k=1, as;
st[k]=0;
while(k>0)
{
do {} while ((as=succesor(k)) && !valid(k));
if(as)
{
if(k==n)
afis();
else
{
k++;
st[k]=0;
}
}
else k--;
}
}
int main()
{
ifstream g ("permutari.in");
g>>n;
bk();
g.close();
h.close();
return 0;
}