Cod sursa(job #119476)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 1 ianuarie 2008 12:18:00
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<stdio.h>
long int n,k,m,i,a,b,dusm[1001][1001],p[1001],ok,viz[1001];
void back(long int ii);
int main()
{
	FILE *f,*g;f=fopen("dusman.in","r");g=fopen("dusman.out","w");
	fscanf(f,"%ld%ld%ld",&n,&k,&m);
	for(i=1;i<=m;i++)
	{ fscanf(f,"%ld%ld",&a,&b);dusm[a][b]=1;dusm[b][a]=1;}
	back(1);
	for(i=1;i<=n;i++) fprintf(g,"%ld ",p[i]);
	fcloseall();
	return 0;
}
void back(long int ii)
{       long int jj;
	if(ii>n)
	 {   k--;
	     if(k==0)ok=1;
	     return;
	 }
	 for(jj=1;jj<=n;jj++)
	  if(!viz[jj])
	    if(!dusm[p[ii-1]][jj])
	     { viz[jj]=1;
	       p[ii]=jj;
	       back(ii+1);
	       if(ok)return;
	       viz[jj]=0;
	     }
	 
}