Cod sursa(job #986121)

Utilizator dobrebogdanDobre Bogdan Mihai dobrebogdan Data 17 august 2013 18:51:59
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<stdio.h>
bool t[1005],b;
unsigned v[1005],a[1005][5],n,l,k;
void bck(unsigned m)
{
    if(b)
    {
    unsigned i,j;
    if(m!=n+1)
    {
    for(i=1;i<=n;i++)
        if(t[i]==0)
    {
        for(j=1;j<=3;j++)
            if(a[i][j]==v[i-1])
                break;
            if(j==4)
            {
                t[i]=1;
                v[m]=i;
                bck(m+1);
                t[i]=0;
            }
    }
    }
    else
    {
        l++;
        if(l==k)
            {
                b=0;
                for(i=1;i<m;i++)
                    printf("%u ",v[i]);
            }
    }
    }
}
int main()
{
    freopen("dusman.in","r",stdin);
    freopen("dusman.out","w",stdout);
    unsigned m,i,x,y;
    l=0;
    b=1;
    v[0]=1005;
    scanf("%u%u%u",&n,&k,&m);
for(i=1;i<=m;i++)
{
    scanf("%u%u",&x,&y);
    a[x][0]++;
    a[x][a[x][0]]=y;
    a[y][0]++;
    a[y][a[y][0]]=x;
}
bck(1);
    return 0;
}