Cod sursa(job #1061048)

Utilizator DanyPrvPirvoaica Daniel DanyPrv Data 19 decembrie 2013 08:50:50
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");
int i,y,z,x[1001],ok,n,sol,k,nr,m;
char a[1001][1001],viz[1001];
int cont(int k){
    if(k>1&&a[x[k]][x[k-1]]==1)
      return 0;
   return 1;
}
void back(int k){
    int i;
    for(i=1;i<=n;i++){
        if(viz[i]==0){
            x[k]=i;
        if(cont(k)){

            viz[i]=1;
            if(k<n)
                back(k+1);
            else
            {

                nr--;
                if(nr==0){
                  ok=1;
                    for(int j=1;j<=n;j++)
                        g<<x[j]<<' ';
                   return;
                }

            }
            viz[i]=0;
        }
        if(ok==1)
          return;
    }
    }

}
int main()
{
    f>>n>>nr>>m;
    for(i=1;i<=m;i++){
        f>>z>>y;
        a[z][y]=a[y][z]=1;
    }
    back(1);
    return 0;
}