//Распоређивање n дама на шаховској табли
#include <iostream>
#include <algorithm>
using namespace std;
int n, permutacija[15];
bool dame_se_napadaju()
{
for (int i = 0; i < n; i++)
for (int j = i + 1; j < n; j++)
if (abs(i - j) == abs(permutacija[i] - permutacija[j]))
return true;
return false;
}
void prikazi()
{
for (int i = 0; i < n; i++)
cout << permutacija[i] << " ";
cout << '\n';
}
int main()
{
ios_base::sync_with_stdio(false);
cin >> n;
for (int i = 0; i < n; i++)
permutacija[i] = i + 1;
if (!dame_se_napadaju())
prikazi();
while (true)
if (next_permutation(permutacija, permutacija + n))
{
if (!dame_se_napadaju())
prikazi();
}
else
break;
return 0;
}
Ly/QoNCw0YHQv9C+0YDQtdGS0LjQstCw0ZrQtSBuINC00LDQvNCwINC90LAg0YjQsNGF0L7QstGB0LrQvtGYINGC0LDQsdC70LgKI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBuLCBwZXJtdXRhY2lqYVsxNV07Cgpib29sIGRhbWVfc2VfbmFwYWRhanUoKQp7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgICAgICBmb3IgKGludCBqID0gaSArIDE7IGogPCBuOyBqKyspCiAgICAgICAgICAgIGlmIChhYnMoaSAtIGopID09IGFicyhwZXJtdXRhY2lqYVtpXSAtIHBlcm11dGFjaWphW2pdKSkKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgcmV0dXJuIGZhbHNlOwp9Cgp2b2lkIHByaWthemkoKQp7Cglmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKCSAgICBjb3V0IDw8IHBlcm11dGFjaWphW2ldIDw8ICIgIjsKCWNvdXQgPDwgJ1xuJzsKfQoKaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbiA+PiBuOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgcGVybXV0YWNpamFbaV0gPSBpICsgMTsKICAgIGlmICghZGFtZV9zZV9uYXBhZGFqdSgpKQogICAgICAgIHByaWthemkoKTsKICAgIHdoaWxlICh0cnVlKQogICAgICAgIGlmIChuZXh0X3Blcm11dGF0aW9uKHBlcm11dGFjaWphLCBwZXJtdXRhY2lqYSArIG4pKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKCFkYW1lX3NlX25hcGFkYWp1KCkpCiAgICAgICAgICAgICAgICBwcmlrYXppKCk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgICAgYnJlYWs7CiAgICByZXR1cm4gMDsKfQ==