Skip to content

Commit 9754990

Browse files
committed
More comments for saintcon
1 parent 1727cf1 commit 9754990

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

Diff for: saintcon-pre-4/README.md

+71
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,74 @@ SOLVED BY: NOBODY YET
7979
```
8080

8181
I don't think I was the first, but it was a great challenge nonetheless! Thanks to @saintcon for the pre-challenge and looking forward to more puzzles in the future.
82+
83+
## Final solution
84+
```python
85+
86+
from collections import deque
87+
88+
ciphertext = 'AEBRVHWWMQHURVWFFIKVYFUCDG'
89+
cipher = '''
90+
R C X G O R U Q P T U V X L Z N Q S P V P I T M K E
91+
X K N W G P D H X N G X P O B Q W O O O A P H Y Q Q
92+
A W K R W Z T Y Y G Y J H F E D L T Z A R G Z A T F
93+
Q Y V J R J G J E I N D D G Q J H A L C Q Z X K G D
94+
I P J C F L C Z S M T Y B K W V D E R I S B S L M B
95+
H X C B L W R C J V Q W C X O B T X C E X W R H W P
96+
O V H D U T X R T E F O V C M L G U Q J B E O Z C S
97+
V M E V Y X L U Q O H F E I U T E M Y L F L W D R C
98+
L E W Z N B F G B Q I B Y Q H F K R T F Y Y Q U P X
99+
Y S I N E S Y T A A X E K D C W C N M B G J A P S V
100+
T L F F D I M W D K W A O B N A V F X Y M D K I J R
101+
F T G X J C I K Z B M T Q U J C B L W N C X L G D L
102+
U N B T Z F N B O Z B R J T D S F Q V R I A G O L J
103+
W D M K V H W A R X C P L M L Z J C S S J U U N B U
104+
N G Q Q C V S L U Y J C N V K P O I U D L O J S Y N
105+
M B Y U Q A E N G C V N U E V U R B B Z W N E W A M
106+
C A S E A M H V V S P Q G Z I R S J I M T K B R O Z
107+
J O R P X G B D K L S U F H Y M I H G T Z C M E N K
108+
D F P H K K J E F R A L Z A R K N P E Q D F D C E W
109+
K H U S M N O X H H Z I W R P H Z V F P E Q Y X I H
110+
Z U T Y B D P P C P E Z I W F Y X W H H U V V J U G
111+
P R D L S U V I L U R S S N T G Y Y D U H R N Q X Y
112+
B I O I P O Q S N D D G R S G E M D A W K S C B F O
113+
S J L M H Q K M W J L H T Y S O P G K X N T I F H A
114+
G Z A O I Y Z F I W K M M P A I A K N K V M F T V I
115+
E Q Z A T E A O M F O K A J X X U Z J G O H P V Z T
116+
'''
117+
118+
# Convert grid to 26 individual tumblers
119+
cipher = zip(*[x.split() for x in cipher.splitlines()[1:]])
120+
121+
tumblers = []
122+
final = []
123+
psk = [5,24,4,20,23,2,11,22,19,15,10,18,16,1,14,3,25,9,6,12,26,7,13,17,21,8]
124+
125+
# Create cryptex
126+
for index in psk:
127+
tumblers.append(cipher[index-1])
128+
129+
# Rotate tumblers to read ciphertext
130+
for index,tumbler in enumerate(tumblers):
131+
tumbler = deque(tumbler)
132+
while tumbler[0] != ciphertext[index]:
133+
tumbler.rotate(1)
134+
135+
final.append(list(tumbler))
136+
137+
# Flip 2D array to read everyline
138+
"""
139+
a b
140+
c d
141+
|
142+
v
143+
a c
144+
b d
145+
"""
146+
final = zip(*final)
147+
148+
# Print all
149+
for f in final:
150+
print ''.join(f)
151+
```
152+

0 commit comments

Comments
 (0)