import random


def create_cycle(p_names):
    """
    Creates a random mapping from murderers to people to be murdered.
    :param p_names: A list of names from which to create pairs of murderers and people to be murdered
    :return: A mapping from murderers to people to be murdered
    """
    pairs = []
    # Produce no side-effects by copying list
    names = [name for name in p_names]
    random.shuffle(names)

    for i in range(-1, len(names) - 1):
        murder_src = names[i]
        murder_dst = names[i + 1]
        pairs.append((murder_src, murder_dst))

    random.shuffle(pairs)
    return pairs