Cod sursa(job #376477)

Utilizator PavelRazvanPavel Razvan PavelRazvan Data 21 decembrie 2009 19:13:37
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<stdio.h>
#include<stdlib.h>
#define DIM 1005
char a[DIM][DIM];
int n,m,b[DIM],k2,k,v[DIM];
void read ()
{
    int i,x,y;
    scanf("%d%d%d",&n,&k,&m);
    for(i=1;i<=m;++i)
        scanf("%d%d",&x,&y),a[x][y]=a[y][x]=1;
}
void show ()
{
    int i;
    for(i=1;i<=n;++i)
        printf("%d ",b[i]);
    exit (0);
}
void back (int x)
{
    int i;
    if(x==n+1)
        ++k2;
    else
        for(i=1;i<=n;++i)
            if(!a[b[x-1]][i] && !v[i])
            {
                b[x]=i;
                v[i]=1;
                back(x+1);
                v[i]=0;
            }
    if(k2==k)
        show ();
}
int main ()
{
    freopen("dusman.in","r",stdin);
    freopen("dusman.out","w",stdout);
    read ();
    back(1);
    return 0;
}