Pagini recente » Borderou de evaluare (job #2706495) | Cod sursa (job #2412582) | Borderou de evaluare (job #202441) | Borderou de evaluare (job #1479059) | Cod sursa (job #1016371)
//Vom scrie o functie recursiva "back" cu parametrul unui nivel oarecare dintre cele m.
#include <fstream>
using namespace std ;
ifstream fin ("permutari.in");
ofstream fout ("permutari.out");
int x[22],n,k;
int cont (int k) {
for (int i=1;i<=k-1;i++)
if (x[k]==x[i])
return 0;
return 1;
}
void back (int k) {
if (k>n) {
for (int i=1;i<=n;i++)
fout<<x[i]<<" ";
fout<<"\n";
}else {
// incerc toate valorile posibile de la nivelul k
for (int i=1;i<=n;i++) {
x[k]=i;
if (cont(k))
back (k+1);
}
}
}
int main () {
fin>>n;
back (1);
return 0;
}