Cod sursa(job #1036465)

Utilizator alexandru213Bracau Alexandru alexandru213 Data 19 noiembrie 2013 13:31:15
Problema Dusman Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
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]<<" ";
    }
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;
                    }}
            else
                back(k+1);
        viz[i]=0;}
    }
        if(ok==1)
            return;
}
int main(){
    in>>N>>K>>M;
    for(int i=1;i<=M;i++){
        in>>x>>y;
        a[x][y]=1;
        a[y][x]=1;}
    back(1);
    return 0;}