Pagini recente » Cod sursa (job #3183787) | Cod sursa (job #963254) | Cod sursa (job #538703) | Cod sursa (job #273169) | Cod sursa (job #429476)
Cod sursa(job #429476)
#include<fstream.h>
ifstream f("dusman.in");
ofstream g("dusman.out");
int sol,v[10001],p,n,m,a[10001][4],i,j,x,y,ok=0;
int bun(int k){
int i;
for(i=1;i<k;++i) if(v[k]==v[i]) return 0;
for(i=1;i<=3;++i) if( a[ v[k] ][ i ]== v[k-1] ) return 0;
return 1;
}
int afis(int k){
int i;
for(i=1;i<k;++i) g<<v[i]<<' ';
ok=1;
g<<'\n';
}
int back(int k){
if(!ok){
int i;
if(k>n){
++sol;
if(sol==p) afis(k);
}
else
for(i=1;i<=n;++i){
v[k]=i;
if(bun(k)) back(k+1);
}
}
}
int main(){
f>>n>>p>>m;
for(i=1;i<=m;++i){
f>>x>>y;
a[x][++a[x][0]]=y;
a[y][++a[y][0]]=x;
}
v[0]=10006;
back(1);
//g<<sol<<'\n';
g.close();
return 0;
}