Cod sursa(job #276622)

Utilizator Cristy94Buleandra Cristian Cristy94 Data 11 martie 2009 11:37:55
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<fstream.h>
ifstream f("dusman.in");
ofstream g("dusman.out");
int m,n,t,k,i,a[1001][1001],nr,viz[1001],x[1001],ok;

/* int cond(int k){
	 if(k>1){
	   if(viz[x[k]]==1)
		  return 0;
	   if(x[k-1]==a[1][x[k]] || x[k-1]==a[2][x[k]] || x[k-1]==a[3][x[k]])
		  return 0;
			 }
	   return 1;
	   } */
void tipar(){int i;
   for(i=1;i<=n;i++)
	  g<<x[i]<<' ';}
void back(){
   k=1;x[k]=0;
while(k>0)
	  if(x[k]<n){
	   x[k]=x[k]+1;
	   if(k==1)
		 ok=1;
	   else  ok=(a[x[k-1]][x[k]]==0);
		 if(viz[x[k]]==0&&ok==1){
		   viz[x[k]]=1;
			if(k==n)
			{    nr++;
			   viz[x[k]]=0;
			 if(nr==t){
				  tipar();break;}
			   }

			 else { k++;
				   x[k]=0;
					}
		  }
		}
	   else {k--; viz[x[k]]=0;
				 }
				 }
int main(){int b,c;
f>>n>>t>>m;
for(i=1;i<=m;i++){
   f>>b>>c;
  a[b][c]=a[c][b]=1;
	}
back ();
return 0;
}