Cod sursa(job #1180344)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 30 aprilie 2014 15:33:46
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<cstdio>
#include<fstream>
using namespace std;
int v[1009],n,k,m,sol,n1,n2;
bool a[1009][1009],c[1009],ok = true;

void afis()
{

    for(int i = 1 ; i <= n ; i++)
        printf("%d ",v[i]);
        ok = false;
        exit(0);
}
void back(int s)
{
    if(s == n+1)
    {
        sol++;
       if(sol == k) afis();
    }
    else
        for(int i = 1 ; i <= n && ok ; i++)
    if(!a[i][v[i-1]] && !c[i]) {
        c[i] = true;
        v[s] = i;
        back(s+1);
        c[i] = false;
    }
}

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

    scanf("%d%d%d",&n,&k,&m);
    for(int i = 1 ; i <= m  ; i++)
    {
        scanf("%d%d",&n1,&n2);
        a[n1][n2] = true;
        a[n2][n1] = true;
    }
    back(1);
    return 0;
}