Cod sursa(job #2080559)

Utilizator TeoMiliMilitaru Teodora TeoMili Data 3 decembrie 2017 11:32:57
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>

using namespace std;
ifstream cin("dusman.in");
ofstream cout("dusman.out");
int nr,n,m,t,a[1001][1001],x[1001],viz[1001],i,b,y;
int valid(int p){
    if(p>1&&a[x[p-1]][x[p]]==1)
        return 0;

        return 1;

}
void tipar(){
int i;
for(i=1;i<=n;i++)
    cout<<x[i]<<" ";
cout<<'\n';
}
void back(int k){
    int i;
    for(i=1;i<=n;i++){
        x[k]=i;
        if(viz[i]==0)
            if(valid(k)){
                viz[i]=1;
                if(k==n){
                    nr++;
                    if(nr==t){
                        tipar();
                        return;
                }
            }
            else
                back(k+1);
            viz[i]=0;
            if(nr==t)
                return;
    }

    }

}
int main()
{
    cin>>n>>t>>m;
    for(i=1;i<=m;i++){
        cin>>b>>y;
        a[b][y]=1;
        a[y][b]=1;
    }
    back(1);

    return 0;
}