Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
c = {"p": [[1]], # 1
"s": [[1, 1]], # 2
"l": [[1, 1, 1]], # 3
"c": [[1, 1], [1, 0]],
"O": [[1, 1], [1, 1]], # 4
"J": [[1, 1, 1], [1, 0, 0]],
"i": [[1, 1, 1, 1]],
"z": [[1, 1, 0], [0, 1, 1]],
"t": [[1, 1, 1], [0, 1, 0]],
"L": [[1, 1, 1, 1], [1, 0, 0, 0]], # 5
"T": [[1, 0, 0], [1, 1, 1], [1, 0, 0]],
"N": [[0, 1, 1, 1], [1, 1, 0, 0]],
"Z": [[0, 0, 1], [1, 1, 1], [1, 0, 0]],
"I": [[1, 1, 1, 1, 1]],
"P": [[1, 1, 1], [1, 1, 0]],
"W": [[1, 1, 0], [0, 1, 1], [0, 0, 1]],
"F": [[0, 1, 0], [1, 1, 1], [0, 0, 1]],
"X": [[0, 1, 0], [1, 1, 1], [0, 1, 0]],
"Y": [[1, 1, 1, 1], [0, 1, 0, 0]]}
def select(name):
na = name[0]
ro = int(name[1])
re = int(name[2])
ans = c[na]
for i in range(ro):
ans = rotate(ans)
for i in range(re):
ans = reflect(ans)
return ans
def rotate(m):
return [[m[len(m) - j - 1][i] for j in range(len(m))] for i in range(len(m[0]))]
def reflect(m):
return m[::-1]