Cod sursa(job #1873174)

Utilizator pibogaBogdan piboga Data 8 februarie 2017 20:30:31
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;


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)
    {
        printf("%d ",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()
{

    freopen ("dusman.in","r",stdin);
    freopen ("dusman.out","w",stdout);


    scanf ("%d %d %d",&n,&p,&m);

    for (i=1;i<=m;++i)
    {
        scanf ("%d %d",&q,&w);
        a[q][w]=a[w][q]=1;
    }

    bc(1);

    return 0;
}