From 379206ccf0a24111b37b9c6996dc21fe576a3e6b Mon Sep 17 00:00:00 2001 From: David Ferrone Date: Mon, 11 Mar 2024 18:17:44 -0400 Subject: 5 Years of PWC! --- challenge-260/zapwai/python/ch-2.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 challenge-260/zapwai/python/ch-2.py (limited to 'challenge-260/zapwai/python/ch-2.py') diff --git a/challenge-260/zapwai/python/ch-2.py b/challenge-260/zapwai/python/ch-2.py new file mode 100644 index 0000000000..bdfe08eca0 --- /dev/null +++ b/challenge-260/zapwai/python/ch-2.py @@ -0,0 +1,34 @@ +def seek_word(word, sorts): + for i in range(len(sorts)): + if sorts[i] == word: + return i + return -1 + +def L(k, mylist, h): + if k == 1: + h[''.join(mylist)] = 1 + else: + L(k-1, mylist, h) + for i in range(k-1): + if k % 2 == 0: + swap(i, k-1, mylist) + else: + swap(0, k-1, mylist) + L(k-1, mylist, h) + +def swap(i, j, mylist): + tmp = mylist[i] + mylist[i] = mylist[j] + mylist[j] = tmp + +def proc(word): + perms = {} + print("Input:", word) + let = list(word) + L(len(word), let, perms) + sorts = sorted(perms.keys()) + print("Output", 1 + seek_word(word, sorts)) + +proc("CAT") +proc("GOGGLE") +proc("SECRET") -- cgit