Pagini recente » Cod sursa (job #393294) | Cod sursa (job #2642917) | Cod sursa (job #236403) | Cod sursa (job #2490583) | Cod sursa (job #1875673)
#include <fstream>
#include <vector>
#include <cmath>
#include <stdlib.h>
using namespace std;
ifstream cin ("damesah.in");
ofstream cout("damesah.out");
int n;
vector<int> t; //solutiile;
bool valid(int k)
{
for (int i=1;i<k;i++)
{
if(t[i]==t[k] || abs(t[k]-t[i])==(k-i)) return false;
}
return true;
}
bool solutie(int k)
{
if (k==n) return true;
return false;
}
void afisare()
{
cout<<n<<'\n';
for (int i=1;i<=n;i++)
{
cout<<i<<' '<<t[i]<<'\n';
}
exit(0);
}
void BK(int k)
{
for (int i=1;i<=n;i++)
{
t[k]=i;
if (valid(k))
{
if (solutie(k)) afisare();
else BK(k+1);
}
}
}
main()
{
cin>>n;
t.resize(n);
t[n-1]=0;
BK(1);
}