Пример #1
0
def get_permutations(n):
    """
    :param n:
    :return: list of all permutations of n unique items
    """
    uniques = list(SYMBOLS[:n])
    return list(map(lambda tup: ''.join(tup), permute(uniques)))
Пример #2
0
def uniquely_permute(iterable, enforce_sort=False, r=None):
    previous = tuple()
    if enforce_sort: # potential waste of effort (default: False)
        iterable = sorted(iterable)
    for p in permute(iterable, r):
        if p > previous:
            previous = p
            yield p
Пример #3
0
def chef(n,k,l):
    l2=[s for s in range(1,k+1)]
    l2=l2*n
    l3=[]
    for i in itertools.permute(l2,n):
        l3.append(i)
    l4=list(set(l3))
    l4.sort()
    gl.append(l4[l-1])
Пример #4
0
def run():
    T = int(input())
    for t in range(1, T + 1):
        N, C = map(int, input().split(" "))
        permutations = list(permute([i for i in range(1, N + 1)]))
        # print(permutations)

        for p in permutations:
            i = reversort(list(p))
            if reversort(list(p)) == C:
                # print(i, C, p)
                print(f"Case #{t}:", *p)
                break
        else:
            print(f"Case #{t}: IMPOSSIBLE")
Пример #5
0
def permAlone(word):

    if not word.isalpha(): return "Error: must contain only letters."
    word = list(word.lower())

    lenght = range(len(word) - 1)

    if len(set(word)) == 1: return 0

    ls = list(permute(word))

    counter = 0

    for sublist in ls:
        for i in lenght:
            if sublist[i] == sublist[i + 1]:
                counter += 1
                break

    return len(ls) - counter
Пример #6
0
SessionLetter = ParticipantID[-1]
PartNumber = int(ParticipantID[-4:-1])
SessionNumber = ['A', 'B', 'C', 'D'].index(SessionLetter) + 1

# Between Subjects Design
if len(ParticipantID) == 7:
    PartPrefix = ParticipantID[:3]
    if PartPrefix not in ['ENG', 'CHN', 'THI', 'DOT']:
        raise (ValueError(
            'ID Lanuage Prefix must be either ENG, CHN, THI or DOT. Please change ID accordingly if you wish to proceed with a Between Subjects design.'
        ))
    LanuageNumber = ['ENG', 'CHN', 'THI', 'DOT'].index(PartPrefix)

# Within Subjects Design
elif len(ParticipantID) == 4:
    TaskSet = list(permute(range(4)))
    # This is random order by which task set permutations may be presented, generated with below code.
    #RandomisedOrder = range(len(TaskSet))
    #random.shuffle(RandomisedOrder)
    RandomisedOrder = [
        20, 9, 13, 7, 15, 5, 8, 3, 17, 16, 19, 2, 11, 18, 22, 21, 1, 14, 6, 10,
        23, 4, 12, 0
    ]
    while len(RandomisedOrder) <= PartNumber:
        RandomisedOrder += RandomisedOrder
    TaskSet = TaskSet[RandomisedOrder[PartNumber]]
    LanuageNumber = TaskSet[SessionNumber - 1]
    PartPrefix = ['ENG', 'CHN', 'THI', 'DOT'][LanuageNumber]
    ParticipantID = PartPrefix + ParticipantID

# Timing of Stim, Mask and Time Out - Changing will change experiment timing
#coding:utf-8
#Author: Alexander Hansson
#Version: 2015-12-27

"""
A permutation is an ordered arrangement of objects. For example, 3124 is one possible 
permutation of the digits 1, 2, 3 and 4. If all of the permutations are listed numerically or alphabetically,
we call it lexicographic order. The lexicographic permutations of 0, 1 and 2 are:

012   021   102   120   201   210

What is the millionth lexicographic permutation of the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9?
"""


from itertools import permutations as permute
print "".join([str(x) for x in list(permute(range(10)))[10**6-1]]) #wtf hax
Пример #8
0
 def permutate(self, samples):
  return [''.join([str(_) for _ in _]) for _ in list(permute(samples))]
Пример #9
0
def permutations(string):
    return list(map(convertTuple,list(set(list(permute(string))))))
Пример #10
0
# Project euler problem 24
# Eric Jones
# 22 April 2014

from itertools import permutations as permute 

if __name__ == '__main__':
    a = [0,1,2,3,4,5,6,7,8,9]
    z = permute(a) #z is an itertools object
    z = [x for x in z]
    z.sort()
    print z[1000000-1]
Пример #11
0
def height_counts(n):
	return Counter(get_height(order) for order in permute(range(n)))