Cod sursa(job #293418)

Utilizator vladbBogolin Vlad vladb Data 1 aprilie 2009 20:30:39
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<stdio.h>

int n,m,k,a[1001][1001],x[1001],p[1001];

void afis()
{   for(int i=1;i<=n;i++)
            printf("%d ",x[i]);
}

void back(int pas)
{   if(k<0) return;
    if(pas>n)
    {   k--;
       if(k==0) afis();
       return;
    }   
    for(int j=1;j<=n;j++)
       if(!p[j]&&!a[x[j-1]][j])
       {    p[j]=1;
            x[pas]=j;
            back(pas+1);
            p[j]=0;
       }
}  

int main()
{   int i,x,y;
    freopen("dusman.in","r",stdin);
    freopen("dusman.out","w",stdout);
    scanf("%d%d%d",&n,&k,&m);
    for(i=1;i<=m;i++)
    {    scanf("%d%d",&x,&y);
         a[x][y]=1;
         a[y][x]=1;
    }
    back(1);
    fclose(stdin);
    fclose(stdout);
    return 0;
}