Cod sursa(job #2194185)

Utilizator RSiminicaSiminica Razvan RSiminica Data 12 aprilie 2018 15:48:13
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>

using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");
int n,m,p,d[1001][1001],x[1001],v[1001],i,contor,a,b;
int cond(int k)
{
    for(int i=1;i<k;i++)
    {
        if(d[x[i]][x[i+1]]!=0)return 0;
    }
    return 1;
}
void back1(int k)
{
    for(int i=1;i<=n;i++)
    {
        if(v[i]==0)
        {
            v[i]=1;
            x[k]=i;
            if(k==n)
            {
                if(cond(k)==1)
                {
                    contor++;
                    if(contor==p)
                    {
                        for(int j=1;j<=k;j++)
                        {
                            g<<x[j]<<" ";
                        }
                    }
                }

            }
            else
            {
                back1(k+1);
            }
            v[i]=0;
        }
    }
}
int main()
{
    f>>n>>p>>m;
    contor=0;
    for(i=1;i<=m;i++)
    {
        f>>a>>b;
        d[a][b]=d[b][a]=1;
    }
    back1(1);
    return 0;
}