Cod sursa(job #1012071)

Utilizator rares96cheseliRares Cheseli rares96cheseli Data 17 octombrie 2013 22:49:34
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <bitset>
using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");

bitset < 1005 > a[1005];
bitset < 1005 > used;
int N, M, K, sol[1005], x, y;

void print()
{
    for (int i=1; i<=N; ++i)
        g<<sol[i]<<' '; g<<'\n';
}

void back(int vf)
{
    if (K<0) return;
    if (vf>N)
    {
        --K;
        if (!K) print();
        return;
    }
    for (int i=1; i<=N; ++i)
        if (!used[i] && !a[sol[vf-1]][i])
        {
            used[i]=1; sol[vf]=i;
            back(vf+1);
            used[i]=0;
        }
}

int main()
{
    f>>N>>K>>M;
    for (int i=1; i<=M; ++i)
    {
        f>>x>>y;
        a[x][y]=a[y][x]=1;
    }
    back(1);
    return 0;
}