Cod sursa(job #1758666)
| Utilizator | Data | 17 septembrie 2016 17:05:38 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 kb |
#include <fstream>
using namespace std;
int n;
int st[10];
ifstream in("permutari.in");
ofstream out("permutari.out");
bool valid(int k) {
for (int i = 1; i < k; i++)
if (st[i] == st[k])
return false;
return true;
}
void printsol() {
for (int i = 1; i <= n; i++)
out << st[i] << " ";
out << "\n";
}
void back(int k) {
st[k] = 0;
while (st[k] < n) {
st[k]++;
if (valid(k))
if (k == n)
printsol();
else
back(k + 1);
}
}
int main() {
in >> n;
back(1);
return 0;
}