Cod sursa(job #1034554)

Utilizator antonioteoZait Teodor Antonio antonioteo Data 17 noiembrie 2013 21:43:15
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
using namespace std;
 
ifstream fin("dusman.in");
ofstream fout("dusman.out");
 
#define NMAX 1001
 
int i, N, K, M;
int A, B, P;
 
int x[NMAX];
 
bool Used[NMAX];
bool a[NMAX][NMAX];
 
inline void afis() {
    ++P;
    if (P == K) {
        for (int i = 1; i <= N; ++i)
            fout << x[i] << ' ';
        fout << '\n';
		exit(0);
    }
}
 
inline void back(int k) {
    if (k == N + 1) afis();
    else {
        for (int i = 1; i <= N; ++i) {
            if (!Used[i] && !a[x[k - 1]][i]) {
                Used[i] = 1;
                x[k] = i;
                back(k + 1);
                Used[i] = 0;
            }
        }
    }
}
 
int main() {
    fin >> N >> K >> M;
    for (i = 1; i <= M; ++i) {
        fin >> A >> B;
        a[A][B] = a[B][A] = true;
    }
    back(1);
    return 0;
}