Cod sursa(job #118340)

Utilizator pauldbPaul-Dan Baltescu pauldb Data 24 decembrie 2007 16:34:30
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <stdio.h>

#define maxn 1010

int n,m,v;
char A[maxn][maxn];
int a[maxn],u[maxn];

int back(int k)
{
    if (k>n) v--;
    else for (int i=1;i<=n && v;i++)
           if (!u[i] && !A[a[k-1]][i])
           {
               u[i]=1;
               a[k]=i;
               back(k+1);
               u[i]=0;
           }
}

int main()
{
    freopen("dusman.in","r",stdin);
    freopen("dusman.out","w",stdout);
    
    scanf("%d %d %d ",&n,&v,&m);
    
    int i,x,y;

    for (i=1;i<=m;i++)
    {
        scanf("%d %d ",&x,&y);
        A[x][y] = A[y][x] = 1;
    }
    
    back(1);
    
    for (i=1;i<=n;i++) printf("%d ",a[i]);
    printf("\n");
    
    return 0;
}