Cod sursa(job #1514089)

Utilizator Robert_VRVRobert Vadastreanu Robert_VRV Data 30 octombrie 2015 15:42:27
Problema Dame Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
#include <math.h>
using namespace std;
ifstream fin("dame.in");
ofstream fout("dame.out");
int n;
int x[1000];
int part(int k)
{
    int i;
    if(k==1)
        return 1;
    for(i=1;i<k;i++)
    {
        if(x[k]==x[i])
            return 0;
        if(fabs(x[k]-x[i])==k-i)
            return 0;
    }
    return 1;
}
void afis()
{
    int i;
    for(i=1;i<=n;i++)
        fout<<i<<" "<<x[i]<<'\n';
    fout.close();
}
void back(int k)
{
    int i;
    if(k>n)
    {
        fout<<n<<'\n';
        afis();
    }
    else{
    for(i=1;i<=n;i++)
    {
        x[k]=i;
        if(part(k))
            back(k+1);
    }
    }
}
int main()
{
    fin>>n;
    fin.close();
    back(1);
    return 0;
}