Cod sursa(job #127963)

Utilizator razvi9Jurca Razvan razvi9 Data 25 ianuarie 2008 16:51:28
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<stdio.h>
int n,k,m,i,x,y,s[1001],viz[2000];
char a[1001][1001];
void back()
{i=1;
 while(i>0){
  do{
   s[i]++;
   }while(s[i]<=n && (viz[s[i]] || a[s[i-1]][s[i]]));
  viz[s[i]]=1;
  if(s[i]<=n)
   if(i==n)
     {k--;
      if(!k) return;
      viz[s[i]]=0;}
   else i++;
  else {s[i]=0;i--;viz[s[i]]=0;}
 }
}

int main()
{freopen("dusman.in","r",stdin);
 freopen("dusman.out","w",stdout);
 scanf("%d %d %d",&n,&k,&m);
 for(i=1;i<=m;i++){scanf("%d %d",&x,&y);a[x][y]=a[y][x]=1;}
 back();
 for(i=1;i<=n;i++) printf("%d ",s[i]);
 fclose(stdout);
 return 0;}