Pagini recente » Cod sursa (job #321769) | Istoria paginii runda/sim_oni_2010_ziua2 | Cod sursa (job #2892145) | Cod sursa (job #2901757) | Cod sursa (job #1279202)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("dame.in");
ofstream g("dame.out");
int v[1010],n;
bool finish;
bool valid(int k)
{
for(int i = 1; i < k; i++){
if(v[i] == v[k])
return 0;
if(v[i] - v[k] == k - i || v[i] - v[k] == i - k)
return 0;
}
return 1;
}
void bak(int k)
{
for(int i = 1; i <= n && finish == false; i++){
v[k] = i;
if(valid(k)){
if(k == n){
finish = true;
g << n << "\n";
for(int j = 1; j <= n; j++)
g << j << " " << v[j] << "\n";
} else {
bak(k+1);
}
}
}
}
int main()
{
f >> n;
bak(1);
return 0;
}