Cod sursa(job #1275705)

Utilizator AlxzAlex Cremeneanu Alxz Data 25 noiembrie 2014 14:52:41
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("dusman.in");
ofstream fout ("dusman.out");
int n,x[1001],nr,k,t,a[1001][1001],m,viz[1001],i,r,q,OK;
void tipar (int k)
{
    for(int i=1;i<=k;i++)
        fout<<x[i]<<" ";
}
int cont(int k)
{
    if(k>1&&a[x[k]][x[k-1]]==1)
        return 0;
    return 1;
}
void back(int k)
{
    if(OK==0)
    {
        for(int i=1;i<=n;i++)
        if(viz[i]==0)
        {
            x[k]=i;
            if (cont(k))
            {
                viz[i]=i;
                if(k==n)
                    nr++;
                if(nr==t&&OK==0)
                {
                    tipar(k);
                    OK=1;return ;
                }
                else
                    back(k+1);
                viz[i]=0;
            }
        }
    }

}
int main()
{
    fin>>n>>t>>m;
    for(i=1;i<=m;i++)
    {
        fin>>r>>q;
        a[r][q]=1;
        a[q][r]=1;
    }
    back(1);
    return 0;

}