Pagini recente » Cod sursa (job #1451557) | Cod sursa (job #2303568) | Cod sursa (job #335881) | Cod sursa (job #363424) | Cod sursa (job #403470)
Cod sursa(job #403470)
#include<cstdio>
const int maxn = 1000;
int i , j , k , perm[maxn] , n , a , b , m , cnt;
bool taken[maxn];
bool dusman[maxn][maxn];
void print() {
int i;
for( i = 1 ; i <= n ; ++i)
printf("%d ",perm[i]);
printf("\n");
}
void back(int p)
{
if ( p == n + 1 )
{
cnt ++;
if ( cnt == k )
print();
}
else
{
int i;
for( i = 1 ; i <= n ; ++i ) {
if ( taken[i] == 0 && dusman[i][perm[p - 1]] == 0) {
taken[i] = 1;
perm[p] = i;
back (p + 1);
taken[i] = 0;
}
}
}
}
int main()
{
freopen("dusman.in","r",stdin);
freopen("dusman.out","w",stdout);
scanf("%d %d %d",&n,&k,&m);
for ( i = 1 ; i <= m ; ++i )
scanf("%d %d",&a,&b) ,
dusman[a][b] = dusman[b][a] = 1;
back(1);
return 0;
}