Cod sursa(job #1180312)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 30 aprilie 2014 15:05:17
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<fstream>
using namespace std;
ifstream in("dusman.in");
ofstream out("dusman.out");
int v[1009],n,k,m,sol;
bool a[1009][1009],c[1009];

void citire()
{

    int i,n1,n2;
    in>>n>>k>>m;
    for(i = 1 ; i <= m  ; i++)
    {
        in>>n1>>n2;
        a[n1][n2] = a[n2][n1] = true;
    }
    in.close();
}

void afis()
{

    int i;
    for(i = 1 ; i <= n ; i++)
        out<<v[i]<<" ";
    out.close();
}
void back(int s)
{
    int i;
    if(sol > k) return;
    if(s == n+1)
    {
        sol++;
       if(sol == k) afis();
    }
    else
        for(i = 1 ; i <= n ; i++)
    if(!a[i][v[i-1]] && !a[v[i-1]][i] && !c[i]) {
        c[i] = true;
        v[s] = i;
        back(s+1);
        c[i] = false;
    }
}

int main()
{

    citire();
    back(1);
    return 0;
}