Cod sursa(job #1275713)

Utilizator Eman98Ghinea Mihail Emanuel Eman98 Data 25 noiembrie 2014 14:59:17
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <fstream>
using namespace std;
ifstream cin ("dusman.in");
ofstream cout ("dusman.out");
int n,x[1001],nr,k,t,a[1001][1001],m,viz[1001],i,xd,yd,ok;
void tipar (int k)
{
    for(int i=1;i<=k;i++)
        cout<<x[i]<<" ";
}
int cont(int k)
{
    if(k>1 and a[x[k]][x[k-1]]==1)
        return 0;
    return 1;
}
void back(int k)
{
    if(not ok)
    {
        for(int i=1;i<=n;i++)
            if(not viz[i])
            {
                x[k]=i;
                if (cont(k))
                {
                    viz[i]=i;
                    if(k==n)
                        nr++;
                    if(nr==t and not ok)
                    {
                        tipar(k);
                        ok=1;
                        return;
                    }
                    else
                        back(k+1);
                    viz[i]=0;
                }
            }
    }

}
int main()
{
    cin>>n>>t>>m;
    for(i=1;i<=m;i++)
    {
        cin>>xd>>yd;
        a[xd][yd]=1;
        a[yd][xd]=1;
    }
    back(1);
    return 0;

}