Cod sursa(job #2076198)

Utilizator Anakin1001George Giorgiu Gica Anakin1001 Data 26 noiembrie 2017 12:19:49
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>

using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");
int x[1001],n,viz[1001],nr,p,m,x1,y1,a[1001][1001];
void tipar(){
    int i;
    for(i=1;i<=n;i++)
        g<<x[i]<<' ';
    g<<'\n';
}
void backt(int k){
    int i;
    for(i=1;i<=n;i++)
        if(viz[i]==0){
            x[k]=i;
            viz[i]=1;
          if(a[x[k]][x[k-1]]==0){
            if(k==n){
                nr++;
                if(nr==p){
                    tipar();
                    return;
                }
            }
            else
                backt(k+1);
            if(nr==p){
                return;
            }

        }
        viz[i]=0;
    }
}
int main()
{   int i;
     f>>n>>p>>m;
     nr=0;
    for(i=1;i<=m;i++){
        f>>x1>>y1;
        a[x1][y1]=1;
        a[y1][x1]=1;
    }
    backt(1);
    return 0;
}