Cod sursa(job #252841)

Utilizator BooZZySandu Bogdan BooZZy Data 4 februarie 2009 22:57:50
Problema Dusman Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
 #include<fstream.h>  
 int v[1002][3],z=0,n,k,m,i,s[1003],a,b,q,ok;  
 int main()  
 {  
 ifstream f("dusman.in");  
 ofstream g("dusman.out");  
 f>>n>>k>>m;  
 for(i=0;i<m;i++)  
     {  
     f>>a>>b;  
     if(v[a][0]==0)v[a][0]=b;  
       else if(v[a][1]==0)v[a][1]=b;  
       else v[a][2]=b;  
       if(v[b][0]==0)v[b][0]=a;  
       else if(v[b][1]==0)v[b][1]=a;  
       else v[b][2]=a;  
       }  
     
     
   q=0;  
   s[q]=0;  
   while(q>=0)  
       if(s[q]<n)  
           {  
           s[q]++;  
           ok=1;  
           for(i=0;i<q;i++)  
               if(s[i]==s[q])ok=0;  
           if(s[q-1]==v[s[q]][0]||s[q-1]==v[s[q]][1]||s[q-1]==v[s[q]][2])ok=0;  
               if(ok)  
                   if(q==n-1)  
                       {  
                       z++;  
                       if(z==k)  
                           {for(i=0;i<n;i++)g<<s[i]<<" ";break;}  
                       }  
                   else {q++;s[q]=0;}  
          }  
       else q--;  
     
    
f.close();
g.close();   
return 0;  
  }