Cod sursa(job #1220864)

Utilizator diana97Diana Ghinea diana97 Data 18 august 2014 18:55:24
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

ifstream f ("dusman.in");
ofstream g ("dusman.out");

const int NMAX = 1000 + 1;
int n, m, k, a;
int p[NMAX];
bool used[NMAX];
int v[NMAX][NMAX];

void citeste() {
    f >> n >> k >> m;
    int a, b;
    for (int i = 1; i <= m; i++)
        f >> a >> b,
        v[a][b] = v[b][a] = 1;
}

void scrie () {
    for (int i = 1; i <= n; i++) g << p[i] << ' ';
    g << '\n';
}

void perm(int x) {
    if (x == n + 1) a++;
    else
    for (int i = 1; i <= n && a != k; i++) {
        if (!used[i] && v[p[x - 1]][i] == 0) {
            used[i] = true;
            p[x] = i;
            perm(x + 1);
            used[i] = false;
        }
    }
}

int main() {
    citeste();
    perm(1);
    scrie();
    return 0;
}