Pagini recente » Cod sursa (job #1778801) | Cod sursa (job #1854047) | Cod sursa (job #1560588) | Cod sursa (job #819102) | Cod sursa (job #1181326)
#include<fstream>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int n, sol[20], p;
void print_sol() {
int i;
for(i = 1; i <= p; i++) fout << sol[i] << " ";
fout << "\n";
}
bool is_valid() {
int i, j;
for(i = 1; i <= p; i++) {
for(j = 1; j <= p; j++) {
if(i != j && sol[i] == sol[j]) {
return false;
}
}
}
return true;
}
void back() {
p = 1;
sol[p] = 1;
while(p > 0) {
if(p == n) {
if(is_valid()) print_sol();
if(sol[p] < n) sol[p]++;
else {
p--;
sol[p] += 1;
}
} else {
if(sol[p] > n) {
p--;
sol[p]++;
} else {
if(is_valid()) {
p++;
sol[p] = 1;
} else sol[p]++;
}
}
}
}
int main() {
fin >> n;
back();
return 0;
}