Cod sursa(job #878182)

Utilizator ShaDoWsiD100Rzv Rzv ShaDoWsiD100 Data 14 februarie 2013 08:54:14
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 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=1;
    x[k]=0;
    while(k>0)
        if(x[k]<n){

            x[k]++;
           if(viz[x[k]]==0)

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

                  k++;
                  x[k]=0;

                }
            }
                }
        else{

                        k--;
                    viz[x[k]]=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();

}