Cod sursa(job #1828399)

Utilizator silkMarin Dragos silk Data 13 decembrie 2016 11:03:29
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <cstdio>
#define NMax 1000

char is[NMax+1][NMax+1];
char deja[NMax+1];
int v[NMax+1];
int N,K,temp;

void Write()
{
    for(int i = 1; i <= N; ++i) printf("%d ",v[i]);
    printf("\n");
}

void Gen(int k)
{
    if( k==N+1 )
        if( ++temp == K ) Write();
        else;
    else
    {
        for(int i = 1; i <= N && temp < K; ++i)
        if( !is[ v[k-1] ][i] && !deja[i] )
        {
            deja[i] = 1;
            v[k] = i;
            Gen(k+1);

            deja[i] = 0;
        }
    }
}

int main(){
    freopen("dusman.in","r",stdin);
    freopen("dusman.out","w",stdout);

    int i,j,A,B,M;

    scanf("%d %d %d",&N,&K,&M);
    for(i = 1; i <= M; ++i)
    {
        scanf("%d %d",&A,&B);
        is[A][B] = is[B][A] = 1;
    }

    Gen(1);




return 0;
}