Cod sursa(job #236515)

Utilizator Andrei200Andrei200 Andrei200 Data 27 decembrie 2008 19:19:49
Problema Dusman Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <stdio.h>

int A[10][10],i,j,kk,n,m,s[1000],l[1000],a,b,ok=1;

void perm(int k)   
{   
    int i;
    if (kk<0) return ;
    if (k==n+1) kk--;
    if (kk==0 && ok)   
    {   
        for (i=1; i<n; ++i)   
            printf("%d ",s[i]);   
        printf("%d\n",s[n]);
        ok=0;  
        return ; 
    }   
    else  
    for (i=1;i<=n;++i)   
        if ((l[i]==0  && A[s[k-1]][i]==0) && (l[i]==0 && A[i][s[k-1]]==0))   
        {   
            l[i]=1;   
            s[k]=i;   
            perm(k+1);   
            l[i]=0;   
        }   
}   


int main()
{
    freopen("dusman.in","r",stdin);
    scanf("%d %d %d", &n,&kk,&m);
    for (i=1;i<=m;++i)
         {
                scanf("%d %d", &a,&b);
                A[a][b]=1;
         }
    freopen("dusman.out","w",stdout);
    perm(1);    
    return 0;
}