Cod sursa(job #2076197)

Utilizator Vlad_FuioreaVlad - Stefan Fuiorea Vlad_Fuiorea Data 26 noiembrie 2017 12:19:06
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
using namespace std;
ifstream cin("dusman.in");
ofstream cout("dusman.out");
int Viz[1001],x[20],k,n,m,nr,sol,t,A,B,a[1001][1001];
void tipar(){
    int j;
    for(j=1;j<=n;j++)
        cout<<x[j]<<" ";
}
int valid(int k){
    if(k>1&&a[x[k]][x[k-1]]==1)
        return 0;
    return 1;
}
void Back(int k){
	int i;
	for(i=1;i<=n;i++)
		if(Viz[i]==0){
			x[k]=i;
			Viz[i]=1;
			if(valid(k)==1){
				if(k==n){
                    sol++;
                    if(sol==nr){
                        tipar();
                        return;
                        }
                    }
                else
                    Back(k+1);

        }
         Viz[i]=0;
          if(sol==nr)
                        return;

	}
}
int main()
{
    cin>>n>>nr>>m;
    for(t=1;t<=m;t++){
        cin>>A>>B;
        a[A][B]=a[B][A]=1;
    }
    Back(1);
    return 0;
}