Pagini recente » Borderou de evaluare (job #2292783) | Borderou de evaluare (job #2016534) | Cod sursa (job #608257) | Borderou de evaluare (job #2021510) | Cod sursa (job #1800126)
#include<iostream>
#include<fstream>
using namespace std;// permutarile
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int s[20], nrsol;
int n;
int succesor(int k)
{
if(s[k]<n)
{
s[k]++;
return 1;
}
else return 0;
}
int valid(int k)
{
for(int i=1; i<k; ++i)
{
if(s[i]==s[k]) return 0;
}
return 1;
}
void tipar(int k)
{
for(int i=1; i<=n; ++i)
fout<<s[i]<<" ";
fout<<'\n';
}
void bktr(int k)
{
s[k]=0;
while(succesor(k))
if(valid(k))
if(k==n) tipar(k), nrsol++;
else bktr(k+1);
}
int main()
{
fin>>n;
bktr(1);
return 0;
}