Cod sursa(job #1308246)

Utilizator otnielMercea Otniel otniel Data 3 ianuarie 2015 19:59:58
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("dusman.in",ifstream::in);
ofstream g("dusman.out",ofstream::out);
int sol[1002],n,z,a[1002][1002],nr,vr,m,ver[1002];
int valid(int k)
{
    if(k>1)
    {
        if(a[sol[k]][sol[k-1]]!=0)
            return 0;
        else
            return 1;
    }
   else
    return 1;
}
int back(int k)
{
    if(k==n+1)
    {
nr++;
        if(nr==z)
        {
            vr=1;
            for(int i=1;i<k;i++)
                g<<sol[i]<<" ";
               return 1;
        }
    }
    else
    {
        for(int i=1;i<=n;i++)
            if(ver[i]==0)
        {
            sol[k]=i;
            ver[i]=1;
            if(valid(k))
            back(k+1);
            ver[i]=0;
        }

    }
}
int main()
{f>>n>>z>>m;

    for(int i=1;i<=m;i++)
    {
        int q=0,w=0;

        f>>q>>w;
        a[q][w]=a[w][q]=1;
    }
   back(1);
}