Cod sursa(job #1036543)

Utilizator alexandru213Bracau Alexandru alexandru213 Data 19 noiembrie 2013 14:30:43
Problema Dusman Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include<stdlib.h>
using namespace std;
ifstream in("dusman.in");
ofstream out("dusman.out");
int x,y,a[1001][1001],N,K,M,nr,ok,b[1001],viz[1001];
void scrie() {
    for(int i=1;i<=N;i++)
        out<<b[i]<<" ";
    }
inline void back(int k){
    if(ok==1)
      return;

    for(int i=1;i<=N;i++){
        if(a[i][b[k-1]]==0&&viz[i]==0){
            b[k]=i;
            viz[i]=1;
            if(k==N){
                nr++;
                if(nr==K)
                 { scrie();
                     ok=1;
                  //   return;
                  exit(0);
                 }

            }
            else
            back(k+1);
              viz[i]=0;
       }
    }

}
int main(){
    in>>N>>K>>M;
    for(int i=1;i<=M;i++){
        in>>x>>y;
        a[x][y]=a[y][x]=1;}
    back(1);

    return 0;}