Cod sursa(job #1060922)

Utilizator andreiiiiPopa Andrei andreiiii Data 18 decembrie 2013 21:40:58
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>

using namespace std;

const int N=1001;

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

int a[N][N], sol[N], v[N];
int n, k, s;

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

int main()
{
    int i, m, x, y;
    fin>>n>>k>>m;
    while(m--)
    {
        fin>>x>>y;
        a[x][y]=a[y][x]=1;
    }
    bt(1);
    for(i=1;i<=n;i++) fout<<sol[i]<<" ";
    fin.close();
    fout.close();
}