Cod sursa(job #615405)

Utilizator SchumiDumitru Andrei Georgian Schumi Data 9 octombrie 2011 17:18:15
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <cstdio>

using namespace std;

int n,k,m,dusmani[1001][1001],vizitat[1001],v[1001],x,y,c;

void back(int p)
{
    int i;
    if(p==n)
    {
        ++c;
        if(c==k)
        {
            for(i=1;i<=n;++i)
                printf("%d ",v[i]);
            return;
        }
    }
    else
    for(i=1;i<=n;++i)
        if(!vizitat[i])
            if(!dusmani[v[p]][i])
            {
                v[p+1]=i;
                vizitat[i]=1;
                back(p+1);
                vizitat[i]=0;
            }
}

int main()
{
    int i;
    freopen ("dusman.in","r",stdin);
    freopen ("dusman.out","w",stdout);
    scanf("%d %d %d",&n,&k,&m);
    for(i=1;i<=m;++i)
    {
        scanf("%d %d",&x,&y);
        dusmani[x][y]=1;
        dusmani[y][x]=1;
    }
    back(0);
    return 0;
}