Cod sursa(job #1356640)

Utilizator Athena99Anghel Anca Athena99 Data 23 februarie 2015 15:16:13
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>

using namespace std;

ifstream fin("dusman.in");
ofstream fout("dusman.out");

const int nmax= 1000;

bool u[nmax+1], g[nmax+1][nmax+1];

int n, m, k;
int v[nmax+1];

void back( int x ) {
    if ( x==n+1 && k>0 ) {
        --k;
        if ( k==0 ) {
            for ( int i= 1; i<=n; ++i ) {
                fout<<v[i]<<" ";
            }
            fout<<"\n";
        }
    } else if ( k>0 ) {
        for ( int i= 1; i<=n; ++i ) {
            if ( u[i]==0 && g[i][v[x-1]]==0 ) {
                v[x]= i;
                u[i]= 1;
                back(x+1);

                u[i]= 0;
            }
        }
    }
}

int main(  ) {
    fin>>n>>k>>m;
    for ( int i= 1; i<=m; ++i ) {
        int x, y;
        fin>>x>>y;
        g[x][y]= g[y][x]= 1;
    }

    back(1);

    return 0;
}