Cod sursa(job #252461)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 4 februarie 2009 14:39:38
Problema Dusman Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <stdio.h>   
  
  
int v[1001], used[1001], n,x[1001][1001],a,b,p,m,s[1001];   
  
void bkt(int k)   
{   int i;
    if (p==0) return;
    else
    if(k>n)   
    {   
        for(i=1;i<=n;++i)   
        {   
            s[i]=v[i];
        }   
        p--;  
        //if (p==0) return;
    }   
    else  
    {   
        for(i=1;i<=n;++i)   
        {   
            if(!used[i] && !x[v[k-1]][i])   
            {   
                v[k]=i;   
                used[i]=1;   
                bkt(k+1);   
                used[i]=0;   
            }   
        }   
    }   
}   
  
  
int main()   
{   
    int i;
    freopen("dusman.in", "r", stdin);   
      
    scanf("%d %d %d", &n,&p,&m);
    for (i=1;i<=m;++i)
   {
        scanf("%d %d",&a,&b);
        x[a][b]=1;
        x[b][a]=1;
   }   
   //p--;
    bkt(1);   
    freopen("dusman.out", "w", stdout);   
    for(i = 1; i <= n; ++i)
        {
            printf("%d ", s[i]);
        }
        printf("\n");
  
    return 0;   
}