Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- A brute-force method to calculate status LED color sequences where colors do not repeat consecutively.
- ayush@tesseract.in
- """
- def cartesianProduct(lists):
- '''Returns cartesian product of lists (operands) in the given list of operands)'''
- if lists == []: return [[]]
- return [x + [y] for x in cartesianProduct(lists[:-1]) for y in lists[-1]]
- def countDuplicateSequences(colorList, sequenceLength):
- '''Prints no. of sequences where entries are non-repeating'''
- count = 0
- i = 0
- operandList = []
- for i in range(sequenceLength):
- operandList.append(colorList)
- allSequences = cartesianProduct(operandList)
- for sequence in allSequences:
- for i in range(sequenceLength-1):
- if sequence[i]==sequence[i+1]:
- count += 1
- # print sequence
- print 'Total count = ' + str(len(allSequences))
- print 'Duplicates = ' + str(count)
- print 'Non duplicate count = ' + str(len(allSequences) - count)
- countDuplicateSequences(['R','G','B','C','M','Y','W'], 4)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement