Cod sursa(job #370319)

Utilizator GotenAmza Catalin Goten Data 30 noiembrie 2009 19:59:04
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream.h>

int n,k,m,i,x[1001],z,y,t,ok,nr,v[1001];
char a[1001][1001];

int main()
{
 ifstream f("dusman.in");
 ofstream g("dusman.out");
 f>>n>>k>>m;
 for(i=1;i<=m;i++)
  {
   f>>z>>y;
   a[z][y]=a[y][z]=1;
   }
 int q=1;
 t=1;
 while(t&&q)
 {
  x[t]++;
  ok=0;
  while(!ok)
  {
   ok=1;
   if(v[x[t]]||a[x[t-1]][x[t]])ok=0;
   if(!ok)x[t]++;
   if(x[t]>n)break;
   }
  if(x[t]>n)t--;
  else
   if(t==n)
    {
     nr++;
     if(k==nr){
     for(i=1;i<=n;i++)g<<x[i]<<' ';t=0;}
     t--;
     v[x[t]]=0;
     }
   else
    {
     v[x[t]]=1;
     t++;
     x[t]=0;
     }
 }
return 0;
}