Cod sursa(job #975240)

Utilizator thewildnathNathan Wildenberg thewildnath Data 19 iulie 2013 14:57:34
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>

int n,m,k,s[1002],a;
char v[1002][1002],f[1002];

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

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

    perm(0);

    for(i=1;i<=n;++i)
        printf("%d ",s[i]);
    printf("\n");
}