Pagini recente » Cod sursa (job #3286307) | Cod sursa (job #552277) | Cod sursa (job #1292191) | Cod sursa (job #1232675) | Cod sursa (job #3004584)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int n,cnt=0,first=1;
vector<int> coloane;
bool NotSeeing(int lin,int col)
{
for(int i=0;i<coloane.size();i++)
{
if(col==coloane[i] || (abs(lin-(i+1))==abs(col-coloane[i])))
{
return false;
}
}
return true;
}
void solve(int lin)
{
if(lin==n+1)
{
cnt++;
if(first==1)
{
for(int i=0;i<n;i++)
{
fout<<coloane[i]<<' ';
}
first=0;
}
return;
}
for(int i=1;i<=n;i++)
{
if(NotSeeing(lin,i))
{
coloane.push_back(i);
solve(lin+1);
coloane.pop_back();
}
}
return;
}
int main()
{
fin>>n;
solve(1);
fout<<'\n'<<cnt;
return 0;
}