Pagini recente » Cod sursa (job #1318898) | Cod sursa (job #2464633) | Cod sursa (job #1193546) | Cod sursa (job #2109783) | Cod sursa (job #1342419)
#include<fstream>
using namespace std;
ifstream fi("dusman.in");
ofstream fo("dusman.out");
const int MAX_N = 1002;
int st[MAX_N],sol[MAX_N];
int i,j,n,m,k,x,y,nr;
bool a[MAX_N][MAX_N];
bool viz[MAX_N],t;
void tipar(){
++nr;
if(nr==m){
for(int j=1;j<=n;j++) sol[j]=st[j];
t=0;
}
}
void back(int k){
if(!t) return;
if(k==n+1) tipar();
else for(int i=1;i<=n;i++)
if(!viz[i] && (k==1 || (k>1)*a[st[k-1]][i])){
viz[i]=1;
st[k]=i;
back(k+1);
viz[i]=0;
}
}
int main(){
fi>>n>>m>>k;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++) a[i][j]=1;
for(i=1;i<=n;i++){
a[i][i]=0;
viz[i]=0;
}
for(i=1;i<=k;i++){
fi>>x>>y;
a[x][y]=0;
a[y][x]=0;
}
t=1;
back(1);
for(i=1;i<=n;i++) fo<<sol[i]<<' ';
fi.close();
fo.close();
return 0;
}