Cod sursa(job #1873162)

Utilizator pibogaBogdan piboga Data 8 februarie 2017 20:25:40
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <cstring>
#include <algorithm>

using namespace std;

ifstream fin ("dusman.in");
ofstream fout("dusman.out");

int x[1010],n,v[1010],i,k,z,p,m,q,w;
bool ok;
int a[1010][1010];

bool sol(int k)
{
    if (k==n+1) return 1;
    return 0;
}

void af()
{
    for (i=1;i<=n;++i)
    {
        fout << x[i] <<' ';
    }
}

void bc(int k)
{
    if (sol(k))
    {
        if (++z==p)
        {
            af();
        }
        else ;
    }

    else

    for (int i=1;i<=n;++i)
    {
        if (v[i]==0 && !a[i][x[k-1]] )
        {
            x[k]=i;
            v[i]=1;
            bc(k+1);
            v[i]=0;
        }

    }
}

int main()
{
    fin >> n >> p >> m ;

    for (i=1;i<=m;++i)
    {
        fin >> q >> w;
        a[q][w]=a[w][q]=1;
    }

    bc(1);

    return 0;
}