Pagini recente » Cod sursa (job #2759502) | Cod sursa (job #357671) | Cod sursa (job #513442) | Cod sursa (job #2254633) | Cod sursa (job #2548681)
#include <fstream>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int n, sol[10];
void succesor(int k, int &as) {
as = 0;
if(sol[k] < n) {
sol[k]++;
as = 1;
}
}
void valid(int k, int &ev) {
ev = 1;
for(int i = 1; i < k; ++i)
if(sol[i] == sol[k])
ev = 0;
}
void tipar() {
for(int i = 1; i <= n; ++i)
fout << sol[i] << ' ';
fout << '\n';
}
void back() {
int k = 1, ev, as;
sol[1] = 0;
while(k) {
do {
succesor(k, as);
if(as)
valid(k, ev);
} while(as && !ev);
if(as)
if(k == n)
tipar();
else {
k++;
sol[k] = 0;
}
else
k--;
}
}
int main() {
fin >> n;
back();
}