Cod sursa(job #2305391)

Utilizator mihaimodiMihai Modi mihaimodi Data 20 decembrie 2018 08:34:37
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.15 kb
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("dusman.in");
ofstream fout("dusman.out");
int v[1001];
int n,m,nr,poz,x,y;
bool d[1001][1001];
bool viz[1001];
bool ok;
void tipar()
{
    for(int i=1;i<=n;i++)
        fout<<v[i]<<' ';
}
inline void back(int k)
{

      for(int i=1;i<=n;i++)
      {
            if(ok==1)
                  return;
            if(viz[i]==0&&d[v[k-1]][i]==0)
            {
                  if(k<=n)
                  {
                        v[k]=i;
                        viz[i]=1;
                        back(k+1);
                        if(k==n)
                        {
                              poz++;
                              if(poz==nr)
                              {
                                    tipar();
                                    ok=1;
                              }
                        }
                  }
                  viz[v[k]]=0;
            }
      }
}
int main()
{
    fin>>n>>nr>>m;
    for(int i=1;i<=m;i++)
    {
        fin>>x>>y;
        d[x][y]=1;
        d[y][x]=1;
    }
    back(1);
    return 0;
}