Cod sursa(job #417346)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 14 martie 2010 12:42:08
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<stdio.h>
int n,bc[1003],viz[1003];
char v[1003][1003];
int k,m;
void afis()
{
    int i;
    for(i=1;i<=n;i++)
        printf("%d ",bc[i]);
    printf("\n");
}
void back(int poz)
{
    int i;
    if(poz==n+1)
    {
        k--;
        if(!k)
            afis();
        return ;
    }
    for(i=1;i<=n && k;i++)
    {
        if(viz[i] || v[bc[poz-1]][i])
            continue;
        viz[i]=1;
        bc[poz]=i;
        back(poz+1);
        viz[i]=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);
        v[x][y]=1;
        v[y][x]=1;
    }
    back(1);
    
    return 0;
}