Pagini recente » Diferente pentru utilizator/eudoaralberto intre reviziile 12 si 11 | Monitorul de evaluare | Profil Dragoshelu | Atasamentele paginii Profil bad_boy_ovidiu | Cod sursa (job #1036573)
#include <fstream>
#include<stdlib.h>
using namespace std;
ifstream in("dusman.in");
ofstream out("dusman.out");
int x,y,N,K,M,nr,ok,b[1001];
char viz[1001], a[1001][1001];
inline void scrie() {
for(int i=1;i<=N;i++)
out<<b[i]<<" ";
}
inline void back(int k){
int i;
for( i=1;i<=N;i++){
if(a[i][b[k-1]]==0&&viz[i]==0){
b[k]=i;
viz[i]=1;
if(k==N){
nr++;
if(nr==K)
{ scrie();
ok=1;
return;
}
}
else
back(k+1);
viz[i]=0;
if(ok==1)
return ;
}
}
}
int main(){
in>>N>>K>>M;
for(int i=1;i<=M;i++){
in>>x>>y;
a[x][y]=a[y][x]=1;}
back(1);
return 0;}