Pagini recente » Cod sursa (job #2953048) | Monitorul de evaluare | Cod sursa (job #1676640) | Cod sursa (job #2501064) | Cod sursa (job #2833640)
/*
.::////++ossss+. `++:``
-md+ohddhhhhhhMM/ oMMMNds+-`
`/dh` /M: `::://///mMo `hMm+oydmmNhs/-`
`:hNNM/ /M+ -:://///hMh `mMy/////+oydMNd`
`/dNmsoMd` :Mm.`.-:://///yMd`.MM+////////oNMy`
`/hNms///dM: :MN/--::::////oMm.-MN/////////dMN-
`/hNms/////oMd`-NN+::::::////+mNhhMh////////oMMo
yMNy////////dMhdNm/:::::://////+oss/////////mMm.
/NNs////////oddyo/::::::://////////////////sMM+
`+NMs//////////::::::::::://///////////////mMh`
`+NMs//////////::::::::::////////////////sMN:
`+MNo/////////::::::::::////////////////mMs`
`+MNo/////////:::::::::///////////////sMm.
oMN+////////:::::::::///////////////NM/
oMm+/////////+ooooosssssssssooo+//yMh
`oMm+////+osssssssssssssssssssssssNN.
`oMm+/osssssssssssssssssssssssssdM/
`+NmysssssssssssssssssssssssshNMs
-hMmhyssssssssssssssssyhdNNho-`
`-ohmNmmdddddddmmmmmhys+-``
``.-:://///::-..```
````..--:://++oosyyhh+`
``` .+osyyhdmmmmmmmmmmddddhyyshMM/
-sdmdy. -dMdhyyysooo+++/////::///:::yMm--os+-`
.dMMMMm-/mMmyhddd+::::::::::::omNmmdyohMmNMMMNo
+MMMMMNmMMMMMMMMMs::::::::::::sMMMMMMMNMMMMMMMm.
oMMMMMMMMMMMMMMNd/::::::::::::+mNMMMMMMMMMMMMMM:
/NMMMMMMMMNNmdyo/:::::/+++/::::/ohmmNMMMMMMMMMN-
`+hmNNdhyso+/::::::++:+ooo/::+::::/+oyhdmNNNNNy`
:mMy/:::::::::::/M+::::::::y::::::::://+oNMs`
`/NNs:/shhs/::::::+M:::::::::y:::::::/+//::sMm-
``````oNNo:oNMMMMNy:::::+M:::::::::y:::::+hNMMmo::hMh` ````
`.:oydddhhMm+:/yyyhmMMMy::::+M:::::::::y::::sNMMMMMMo:/dMs``/oosssso/-`
`+hNMNNNNNNNm/:::::://+ymN/:::+N:::::::::y:::sNmhso++sy::/mM+sMNNNNNNNNNh-
+MMNNNNNNNNNd/::::::+sso:o::::+N:::::::::y:::+/+ss+:::::::+NMNNNNNNNNNNNMy
+MMNNNNNNNNNNs::::::::::+ooo/:/+:::::::::dyyssso:::::::::::oNNNNNNNNNNNNMh
-MMMNNNNNNNNNmdddhhhyyyNds//:::::::::::::///+sdNmhhhhhhhddddNNNNNNNNNNNNMo
`dMMMMMMNNNNNNNNNNNNNNMm/::::::::::::::::::::::/mMNNNNNNNNNNNNNNNNNNMMMMN-
:NMMMMMMMMMMMMMMMMMMMMMmyo+//:::::::::::::://+odMMMMMMMMMMMMMMMMMMMMMMM+`
+MNNmNMMMMMMMMMMMMMMMMMMMMNNNNmddhhhhhddmNNNMMMMMMMMMMMMMMMMMMMMMMMNd/`
:mMdh/.-::/+ooosssyyyhhhhhhhhhddddddddddddddddddddhhhyyssooo+/:ydmMMm.
`oNMNhhy: `` `````````````````````````` `+hhhNMMm/`
-hMMNmhhhyo. `` ` `` -shhhhmNMMNs`
`+mMMNNmhhhhhyo-` `` . `` .:shhhhhhmNNNMMh.
.yMMNNNNmhhhhhhhhs+-.` `` . ` `-/oyhhhhhhhhmNNNNMMd:
:dMMNNNNNmhhhhhhhhhhhyso/:-.`` ` ``..-/+oyyhhhhhhhhhhhNNNNNNMMN+
`+NMMNNNNNNmhhhhhhhhhhhhhhhhyyssso+++//////://///+++osssyyhhhhhhhhhhhhhhhhhNNNNNNMMMN-
`sMMMMMNNNNNNhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdNNNNNMMMMMs
.MMMMMMMMNNNNdhhhhhhhhhhhhhhhhhhhhhhhhhhhdddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhmNNNMMMMMMN:
`+NMMMMMMMNNNmhhhhhhhhhhhhhhhhhhhhhhddmmmmmdhhhmmmmmdhhhhhhhhhhhhhhhhhhhhhdNNNMMMMMMm:
.yNMMMMMMMNNd/syhhhhhhhhhhhhhhhhdmmmmmmmdhhhhdmmmmdhsssssyyhhhhhhhhhhyyomNNMMMMMMh.
:dMMMMMMMMNs`.+shhhhhhhhhhysssssssyyhhhhhhhmmdysssssssssssyhhhhhhs/.`hNMMMMMMMs`
`+NMMMMMMMMh. .:+syhhhhsssssssssssssssshddssssssssssssssshys+:` `hMMMMMMMN/`
.sMMMMMMMMN/ `-:+oooosssssssssssssssssssssssooo+//:-.` -mMMMMMMMM/
:MMMMMMMMMd: ` ```....-----------...```` ` `sNMMMMMMMNMd`
`sMMmMMMMMMMMh/` .oNMMMMMMMNdhMM+
/MMmyhmMMMMMMMMmo- `` `:sNMMMMMMMNdhyymMN-
.mMmyyyyhmNMMMMMMMNdo:` `` `:odNMMMMMMMNdhyyyyyNMh`
`hMMysyyyyyhdNMMMMMMMMNmy+:.` `` `.:+hmNMMMMMMMMNdhyyyyssshMMo
oMMhssssyyyyyyhdNMMMMMMMMMNNmhs+/:---.-----://oyhmNNMMMMMMMMMNmhhyyyyysssssdMN:
:NMdsssssssyyyyyyhhmNMMMMMMMMMMMMMMNNNNmNNNNNMMMMMMMMMMMMMMMNdhyyyyyysssssssyNMd`
.mMNmdhyssssssyyyyyyyhdmNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNmhhyyyyyssssssssyyhNMMo
`yMNyyhdmmhyssssssyyyyyyyhhdmMMMMMMMMMMMMMMMMMMMMMMMMMMMmdhhyyyyyyssssssyyhmmdhyhMN-
+MMdsssssyhddhyysssssyyyyyyooshmNMMMMMMMMMMMMMMMMMMMNmhsooyyyyysssssyyddmmhyyssssmMd`
-NMmsssssssssyyhddhyyssssyysooooosydNNMMMMMMMMMMMMNdysooooosysssyyhdmmdhysssssssssyNMo
`dMNyssssssssssssssyhhdhhyys++++ooooooshmNMMMMMNmhsoooooo++++yhddddhyysssssssssssssshMN-
`sMMhsssssssssssssssssssyyhhdhysoooooooooooyhddysoooooooosyyhhhhyyssssssssssssssssssssmMd`
/MMmssssssssssssssssssssssssssyyhhdddddhhhhyyyhyyyhhhhhhhyysssssssssssssssssssssssssssyMMo`
-NMNysssssssssssssssssssssssssssssssssssyyyhhhhyyyysssssssssssssssssssssssssssssssssssssdMN-
/sso/////////////////////////////////////////////////////////////////////////////////////ss/
*/
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int n, sol[20], nr_sol;
bool col[20], dp[30], ds[30];
bool found;
void bkt(int k)
{
for(int i = 1; i <= n; i++)
{
if(col[i] || dp[i - k + n] || ds[i + k - 1])
continue;
col[i] = 1;
dp[i - k + n] = 1;
ds[i + k - 1] = 1;
sol[k] = i;
if(k == n)
{
if(!found)
for(int j = 1; j <= n; j++)
fout << sol[j] << ' ';
found = 1;
nr_sol++;
}
else
bkt(k + 1);
col[i] = 0;
dp[i - k + n] = 0;
ds[i + k - 1] = 0;
}
}
int main()
{
fin >> n;
bkt(1);
fout << '\n' << nr_sol;
return 0;
}