Pagini recente » Cod sursa (job #1573703) | Cod sursa (job #1573223) | Cod sursa (job #3127002) | Cod sursa (job #867084) | Cod sursa (job #150056)
Cod sursa(job #150056)
#include<stdio.h>
#include<stdlib.h>
int v[1001],nr,n,p,m,i,j,a[1001][1001],k,viz[1001];
cont (int p){
if(a[v[p]][v[p-1]]==1)return 0;
return 1;
}
void af(){
FILE *g=fopen("dusman.out","w");
for(i=1;i<=n;i++){
fprintf(g,"%d ",v[i]);
}
fclose(g);
exit(0);
}
void back(int k ){
int i;
if(k<=n){
for(i=1;i<=n;i++){
v[k]=i;
if(cont(k)&&viz[v[k]]==0){
viz[v[k]]=1;
back(k+1);
viz[v[k]]=0;
}
}
}
else{
nr++;
if(nr==p)af();
}
}
int main(){
FILE *f=fopen("dusman.in","r");
fscanf(f,"%d %d %d",&n,&p,&m);
for(i=1;i<=m;i++){
fscanf(f,"%d %d",&i,&j);
a[i][j]=1;
a[j][i]=1;
}
fclose(f);
back(1);
return 0;
}