Cod sursa(job #2270930)

Utilizator sichetpaulSichet Paul sichetpaul Data 27 octombrie 2018 19:21:10
Problema Dusman Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>

using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");
int n,m,k,mat[1001][1001],sol[1001],viz[1001],ans;

void bk(int niv) {
  if (niv>n) {
    ++ans;
    if (ans==k) {
        for (int i=1;i<=n;++i)
            g<<sol[i]<<" ";
        g<<'\n';
    return;
     }
  }
    else
        for (int i=1;i<=n;++i)
          if (!viz[i] && mat[i][sol[niv-1]]==0) {
              viz[i]=1;
              sol[niv]=i;
              bk(niv+1);
              viz[i]=0;
      }
}
int main()
{  int p,i,j;
    f>>n>>k>>m;
    for (p=1;p<=m;++p)
        f>>i>>j,mat[i][j]=mat[j][i]=1;

    bk(1);
    return 0;
}