Cod sursa(job #474587)

Utilizator dushmiMihai-Alexandru Dusmanu dushmi Data 4 august 2010 12:15:07
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<cstdio>
int n,k,m,sol[1<<10],a[1<<10][1<<10];
bool f[1<<10];
void read()
{
    freopen("dusman.in","r",stdin);
    freopen("dusman.out","w",stdout);
    scanf("%d%d%d",&n,&k,&m);
    int x,y;
    for(int i=1;i<=m;i++)
    {
        scanf("%d%d",&x,&y);
        a[x][y]=a[y][x]=1;
    }
}
void afis()
{
    for(int i=1;i<=n;i++)
        printf("%d ",sol[i]);
}
void back(int p)
{
    if(k<0) return;
    if(p>n)
    {
        --k;
        if(k==0) afis();
        return;
    }
    for(int i=1;i<=n;i++)
        if(!f[i] && a[sol[p-1]][i]==0)
        {
            sol[p]=i;
            f[i]=true;
            back(p+1);
            f[i]=false;
        }
}
int main()
{
    read();
    back(1);
}