Pagini recente » Cod sursa (job #333238) | Cod sursa (job #266033) | Cod sursa (job #1703712) | Cod sursa (job #377739) | Cod sursa (job #1098464)
#include<fstream>
//#include<cmath>
using namespace std;
ifstream f("damesah.in"); ofstream g("damesah.out");
short n,k,nr,x[15];
inline void afis()
{ nr++;
if(nr==1)
{ for(short i=1;i<=n;++i) g<<x[i]<<' ';
g<<'\n';
}
}
inline bool cont(int k)
{ for(short i=1;i<k;++i)
if(x[i]==x[k]) return 0;
else if(k-i==(x[k]>x[i]?x[k]-x[i]:x[i]-x[k])) return 0;
return 1;
}
void back()
{ k=1; x[k]=0;
do { while(x[k]<n)
{ x[k]++;
if(cont(k))
if(k==n) afis(); else x[++k]=0;
}
k--;
}
while(k);
}
int main()
{ f>>n;
back();
g<<nr<<'\n'; g.close(); return 0;
}