human
Combinations where every element appears twice and distance between appearances is equal to the value | Find all combinations that satisfies given constraints.
if all elements are filled , print the solution.
Try all possible combinations for element elem.
if position i and ( i + elem + 1 ) are not occupied in the vector.
place elem at position i and ( i + elem + 1 ).
recurse for next element.
backtrack ( remove elem from position i and ( i + elem + 1 ) ).
create a vector of double the size of given number with.
all its elements initialized by 1.
start from element 1.
given number"
Solution in Python:
assistant
#Here is code to combinations where every element appears twice and distance between appearances is equal to the value and the other steps required.
 def allCombinationsRec ( arr , elem , n ) :
	if ( elem > n ) :
		for i in ( arr ) :
			print ( i , end = " ▁ " )
		print ( " " )
		return
	for i in range ( 0 , 2 * n ) :
		if ( arr [ i ] == - 1 and ( i + elem + 1 ) < 2 * n and arr [ i + elem + 1 ] == - 1 ) :
			arr [ i ] = elem
			arr [ i + elem + 1 ] = elem
			allCombinationsRec ( arr , elem + 1 , n )
			arr [ i ] = - 1
			arr [ i + elem + 1 ] = - 1
def allCombinations ( n ) :
	arr = [ - 1 ] * ( 2 * n )
	elem = 1
	allCombinationsRec ( arr , elem , n )
n = 3
allCombinations ( n )