Cod sursa(job #2122602)
| Utilizator | Data | 5 februarie 2018 12:28:43 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include<fstream>
bool visited[8];
std::ifstream in("permutari.in");
std::ofstream out("permutari.out");
void print(short *result, short n) {
for (int i = 0;i < n;++i)
out << result[i] + 1 << " ";
out << "\n";
}
void bt(short k, short *result, short &n) {
if (k == n) print(result, n);
else
for (int i = 0;i < n;++i)
if (!visited[i]) {
result[k] = i;
visited[i] = true;
bt(k + 1, result, n);
visited[i] = false;
}
}
int main() {
short n;
in >> n;
short *result = new short[n];
bt(0, result, n);
}