Pagini recente » Cod sursa (job #2343824) | Cod sursa (job #2313371) | Cod sursa (job #1848035) | Cod sursa (job #429646) | Cod sursa (job #122360)
Cod sursa(job #122360)
#include <stdio.h>
#include <cassert>
#include <algorithm>
#include <vector>
using namespace std;
long n,k,m,i,j,c,a,b,d[1002][4];
bool ok;
int main(){
freopen("dusman.in","r",stdin);
freopen("dusman.out","w",stdout);
vector<int>perm;
scanf("%ld %ld %ld",&n,&k,&m);
for (i=1;i<=m;i++){
scanf("%ld %ld",&a,&b);
d[a][0]++;
d[a][d[a][0]]=b;
d[b][0]++;
d[b][d[b][0]]=a;
}
for (i=1;i<=n;i++)perm.push_back(i);
c=0;
while (c<k){
ok=1;
for (i=0;i<n-1;i++){
for (j=1;j<=d[perm[i]][0];j++)
if (perm[i+1]==d[perm[i]][j]){ok=0;break;}
if (!ok)break;
}
c+=ok;
if(c==k){for (i=1;i<=n;i++)printf("%ld ",perm[i-1]);printf("\n");}
next_permutation(perm.begin(),perm.end());
}
//for (i=1;i<=n;i++)printf("%ld ",perm[i-1]);
//printf("\n");
return 0;
}