Cod sursa(job #854003)

Utilizator ericptsStavarache Petru Eric ericpts Data 12 ianuarie 2013 17:23:25
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
#include <cstdlib>
using namespace std;

bool dus[1001][1001];
ifstream in("dusman.in");
ofstream out("dusman.out");
int poz[1001];
bool u[1001];
int i_st[1001];
int done = 0;
int n,K,m;
void show()
{
    int i;
    for(i = 1 ;i <= n ; ++ i)
        out << poz[i] << " ";
    out << "\n";
    exit(0);
}

void back(int k)
{

    if(k == n+1)
    {
        ++done;
        if(done == K)
            show();
        return ;
    }
    int i;
    for(i = 1 ; i <= n ; ++ i)
    {
        if(!u[i])
        if(!dus[i][poz[k-1]])
        {
            u[i] = 1;
            poz[k] = i;
            back(k+1);
            u[i] = 0;
        }
    }
}

int main()
{
    in >> n >> K >> m;
    int x,y;
    while(m--)
    {
        in >> x >> y;
        dus[x][y]=1;
        dus[y][x]=1;
    }
    back(1);
    return 0;
}