Cod sursa(job #2310186)

Utilizator mirelPmirel p mirelP Data 30 decembrie 2018 18:55:33
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>

using namespace std;
ifstream fin("dusman.in");
ofstream fout("dusman.out");

int a[1005][1005],n,x,y,m,k,l=1,i,j,g,s,st[1005],v[1005];

void backt(int f)
{
    if(l==1)
    {
    int c;

    if(f==n+1)
        {
            s++;
           // fout<<s<<" "<<k<<endl;
           // for(i=1;i<=n;i++)
            //    fout<<v[i]<<" ";
           // fout<<"\n";

        }
    if(s==k)
     {
         l=0;
         return;
     }
     if(f<=n && l)
    for(c=1;c<=n && l;c++)
    {
        if(!st[c] && !a[c][v[f-1]])
        {
            v[f]=c;
            st[c]=1;
            backt(f+1);
            st[c]=0;
        }
    }
    }
    return;
}

int main()
{
    fin>>n>>k>>m;
    for(i=1;i<=m;i++)
    {
        fin>>x>>y;
        a[x][y]=a[y][x]=1;
    }
    backt(1);
    for(i=1;i<=n;i++)
        fout<<v[i]<<" ";
    return 0;
}