Cod sursa(job #878185)

Utilizator ShaDoWsiD100Rzv Rzv ShaDoWsiD100 Data 14 februarie 2013 09:00:11
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");
int n,m,k,x[1001],a[1001][1001],l,cl,viz[1001],nr,b,c;

int cont (int k){

 if(k>1&&a[x[k]][x[k-1]]==1)
    return 0;
    if(k==n&&a[x[k]][x[1]]==1)
        return 0;
    return 1;
 }
void tipar(int k){
    for(int i=1;i<=k;i++)
        g<<x[i]<<" ";

}
void back(int k){
if(nr==l)
  return;
    for(int i=1;i<=n;i++)

    if(viz[i]==0)
    {
      x[k]=i;
      viz[i]=1;
      if(cont(k))
        if(k==n){
            nr++;
            if(nr==l){
             tipar(k);
             return ;

        }

    }
    else
      back(k+1);
    viz[i]=0;

}
}

int main()
{
    f>>n>>l>>m;
   for(int i=1;i<=m;i++){
      f>>b>>c;
      a[b][c]=1;
      a[c][b]=1;
   }
   back(1);

}