Pagini recente » Cod sursa (job #1103463) | Cod sursa (job #3221356) | Cod sursa (job #1554765) | Cod sursa (job #171142) | Cod sursa (job #457953)
Cod sursa(job #457953)
#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,l[10001];
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 i;
for(i=1;i<=n;++i) g<<v[i]<<' ';
ok=1;
g<<'\n';
}
int back(int k){
if(!ok)
{
int i;
if(k>n){
++sol;
if(sol==p) afis();
}
else
for(i=1;i<=n;++i)
if(!l[i]&&!a[v[k-1]][i]){
v[k]=i;
l[i] = 1;
back(k+1);
l[i] = 0;
}
}
}
int main(){
f>>n>>p>>m;
for(i=1;i<=m;++i){
f>>x>>y;
a[x][y]=a[y][x] = 1;
}
v[0]=10006;
back(1);
//g<<sol<<'\n';
g.close();
return 0;
}