Cod sursa(job #616923)

Utilizator andreea1coolBobu Andreea andreea1cool Data 13 octombrie 2011 17:39:11
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<stdio.h>
int n,k,m,mat[1001][1001],i,x,y,st[1001],nrsol,c[1001],l;
int back(int k)
{
    int i;
    if(k==n+1)
    {
        nrsol++;
        if(nrsol==l)
        {
            for(i=1;i<=n;i++)
            printf("%d ",st[i]);
            printf("\n");
            return 0;
        }
    }else
    {
        for(i=1;i<=n;i++)
            if(mat[st[k-1]][i]==0&&mat[i][st[k-1]]==0&&c[i]==0)
            {
                st[k]=i;
                c[i]=1;
                back(k+1);
                c[i]=0;
            }
    }
}
int main()
{
    freopen("dusman.in","r",stdin);
    freopen("dusman.out","w",stdout);
    scanf("%d%d%d",&n,&l,&m);
    for(i=1;i<=m;i++)
    {
        scanf("%d%d",&x,&y);
        mat[x][y]=1;
        mat[y][x]=1;
    }
    back(1);
    return 0;
}