Pagini recente » Cod sursa (job #2209963) | Rating Balteanu Rares (Balteanu_Rares) | Cod sursa (job #114569) | Cod sursa (job #2389448) | Cod sursa (job #276567)
Cod sursa(job #276567)
#include<fstream.h>
ifstream f("dusman.in");
ofstream g("dusman.out");
int m,n,t,k,i,a[4][1001],nr,viz[1001],x[1001],ok;
int cond(int k){
if(k>1){
if(viz[x[k]]==1)
return 0;
if(x[k-1]==a[1][x[k]] || x[k-1]==a[2][x[k]] || x[k-1]==a[3][x[k]])
return 0;
}
return 1;
}
void tipar(){int i;
for(i=1;i<=n;i++)
g<<x[i]<<' ';}
void back(){
k=1;x[k]=0;
while(k>0)
if(x[k]<n){
x[k]=x[k]+1;
if(cond(k)==1)
{ if(k==n){
nr++;
viz[x[k]]=0;
}
viz[x[k]]=1;
if(nr==t){
tipar();break;}
else { k++;
x[k]=0;
}
}
}
else {k--; viz[x[k]]=0;
}
}
int main(){int b,c;
f>>n>>t>>m;
for(i=1;i<=m;i++){
f>>b>>c; ok=0;
for(i=1;i<=a[0][b];i++)
if(a[i][b]==c)
ok=1;
if(ok==0) {
a[0][b]++;
a[a[0][b]][b]=c;
a[0][c]++;
a[a[0][c]][c]=b;} }
back ();
return 0;
}