Pagini recente » Cod sursa (job #442097) | Cod sursa (job #2221038) | Cod sursa (job #1844009) | Rating Doina Cirlig (doina1994) | Cod sursa (job #1876679)
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#include <stdlib.h>
using namespace std;
ifstream in ("dame.in");
ofstream out("dame.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()
{
in>>n;
t.resize(n+1);
t[n]=0;
BK(1);
out<<'\n'<<l;
}