Cod sursa(job #374428)

Utilizator titusuTitus C titusu Data 17 decembrie 2009 00:22:46
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
using namespace std;
#include <fstream>
#include <iostream>

int a[1001][1001],n,k,uz[1001],x[1001],nrsol,gata;

void read(){
	ifstream fin("dusman.in");
	int m,i,j;
	fin>>n>>k>>m;
	for( ; m ; --m){
		fin>>i>>j;
		a[i][j]=a[j][i]=1;
	}
}

void afis(){
	nrsol++;
	if(nrsol==k){
		gata=1;
		ofstream fout("dusman.out");
		for(int i=1;i<=n;++i)
			fout<<x[i]<<" ";
	}
}

void back(int poz){
	for(int i=1 ; i<=n && !gata ; i++)
		if(uz[i]==0 && a[x[poz-1]][i]==0){
			uz[i]=1;
			x[poz]=i;
			if(poz==n)
				afis();
			else
				back(poz+1);
			uz[i]=0;
		}
}

int main(){
	read();
	back(1);
	return 0;
}