# 遊園 ◆ExGQrDul2E
Blokus_Basis=[
[[1,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,1,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,1,1,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,1,0,0,0],
[1,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,1,1,1,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,1,1,0,0],
[1,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,1,0,0,0],
[1,1,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,1,0,0,0],
[0,1,1,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,1,1,0,0],
[0,1,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,1,1,1,1],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[0,1,1,0,0],
[1,1,0,0,0],
[1,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,1,1,0,0],
[1,0,1,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,0,0,0,0],
[1,1,1,0,0],
[1,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,0,0,0,0],
[1,1,1,1,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,1,1,0,0],
[1,0,0,0,0],
[1,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,1,0,0,0],
[1,1,0,0,0],
[1,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[0,1,0,0,0],
[1,1,1,0,0],
[0,1,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[0,1,0,0,0],
[1,1,0,0,0],
[0,1,1,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[0,1,1,0,0],
[0,1,0,0,0],
[1,1,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,1,1,0,0],
[0,0,1,1,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]],
[[1,1,1,1,0],
[0,1,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]]
]
import numpy as np
from pprint import pprint
# 回転済みのブロックをBlokus配列に入れる
Blokus=[]
for n in range(21):
Blokus.append(np.rot90(Blokus_Basis[n],k=-0))
Blokus.append(np.rot90(Blokus_Basis[n],k=-1))
Blokus.append(np.rot90(Blokus_Basis[n],k=-2))
Blokus.append(np.rot90(Blokus_Basis[n],k=-3))
# 取り敢えず確認
for i2, e2 in enumerate(Blokus):
print (i2, e2)
CiPjgIDpgYrlnJIg4peGRXhHUXJEdWwyRSAKCgpCbG9rdXNfQmFzaXM9WwpbWzEsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXSwKIFswLDAsMCwwLDBdLAogWzAsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXV0sCiAKW1sxLDEsMCwwLDBdLAogWzAsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXSwKIFswLDAsMCwwLDBdLAogWzAsMCwwLDAsMF1dLAogCltbMSwxLDEsMCwwXSwKIFswLDAsMCwwLDBdLAogWzAsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXSwKIFswLDAsMCwwLDBdXSwKIApbWzEsMSwwLDAsMF0sCiBbMSwwLDAsMCwwXSwKIFswLDAsMCwwLDBdLAogWzAsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXV0sCiAKW1sxLDEsMSwxLDBdLAogWzAsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXSwKIFswLDAsMCwwLDBdLAogWzAsMCwwLDAsMF1dLAogCltbMSwxLDEsMCwwXSwKIFsxLDAsMCwwLDBdLAogWzAsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXSwKIFswLDAsMCwwLDBdXSwKCltbMSwxLDAsMCwwXSwKIFsxLDEsMCwwLDBdLAogWzAsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXSwKIFswLDAsMCwwLDBdXSwKIApbWzEsMSwwLDAsMF0sCiBbMCwxLDEsMCwwXSwKIFswLDAsMCwwLDBdLAogWzAsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXV0sCiAKW1sxLDEsMSwwLDBdLAogWzAsMSwwLDAsMF0sCiBbMCwwLDAsMCwwXSwKIFswLDAsMCwwLDBdLAogWzAsMCwwLDAsMF1dLAogCltbMSwxLDEsMSwxXSwKIFswLDAsMCwwLDBdLAogWzAsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXSwKIFswLDAsMCwwLDBdXSwKIApbWzAsMSwxLDAsMF0sCiBbMSwxLDAsMCwwXSwKIFsxLDAsMCwwLDBdLAogWzAsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXV0sCiAKW1sxLDEsMSwwLDBdLAogWzEsMCwxLDAsMF0sCiBbMCwwLDAsMCwwXSwKIFswLDAsMCwwLDBdLAogWzAsMCwwLDAsMF1dLAogCltbMSwwLDAsMCwwXSwKIFsxLDEsMSwwLDBdLAogWzEsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXSwKIFswLDAsMCwwLDBdXSwKIApbWzEsMCwwLDAsMF0sCiBbMSwxLDEsMSwwXSwKIFswLDAsMCwwLDBdLAogWzAsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXV0sCgpbWzEsMSwxLDAsMF0sCiBbMSwwLDAsMCwwXSwKIFsxLDAsMCwwLDBdLAogWzAsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXV0sCiAKW1sxLDEsMCwwLDBdLAogWzEsMSwwLDAsMF0sCiBbMSwwLDAsMCwwXSwKIFswLDAsMCwwLDBdLAogWzAsMCwwLDAsMF1dLAogCltbMCwxLDAsMCwwXSwKIFsxLDEsMSwwLDBdLAogWzAsMSwwLDAsMF0sCiBbMCwwLDAsMCwwXSwKIFswLDAsMCwwLDBdXSwKIApbWzAsMSwwLDAsMF0sCiBbMSwxLDAsMCwwXSwKIFswLDEsMSwwLDBdLAogWzAsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXV0sCgpbWzAsMSwxLDAsMF0sCiBbMCwxLDAsMCwwXSwKIFsxLDEsMCwwLDBdLAogWzAsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXV0sCgpbWzEsMSwxLDAsMF0sCiBbMCwwLDEsMSwwXSwKIFswLDAsMCwwLDBdLAogWzAsMCwwLDAsMF0sCiBbMCwwLDAsMCwwXV0sCiAKW1sxLDEsMSwxLDBdLAogWzAsMSwwLDAsMF0sCiBbMCwwLDAsMCwwXSwKIFswLDAsMCwwLDBdLAogWzAsMCwwLDAsMF1dCl0KCgoKCmltcG9ydCBudW1weSBhcyBucApmcm9tIHBwcmludCBpbXBvcnQgcHByaW50Cgoj44CA5Zue6Lui5riI44G/44Gu44OW44Ot44OD44Kv44KSQmxva3Vz6YWN5YiX44Gr5YWl44KM44KLCkJsb2t1cz1bXQpmb3IgbiBpbiByYW5nZSgyMSk6CglCbG9rdXMuYXBwZW5kKG5wLnJvdDkwKEJsb2t1c19CYXNpc1tuXSxrPS0wKSkKCUJsb2t1cy5hcHBlbmQobnAucm90OTAoQmxva3VzX0Jhc2lzW25dLGs9LTEpKQoJQmxva3VzLmFwcGVuZChucC5yb3Q5MChCbG9rdXNfQmFzaXNbbl0saz0tMikpCglCbG9rdXMuYXBwZW5kKG5wLnJvdDkwKEJsb2t1c19CYXNpc1tuXSxrPS0zKSkKCgoKCgoKCgoKIyDlj5bjgormlaLjgYjjgZrnorroqo0KZm9yIGkyLCBlMiBpbiBlbnVtZXJhdGUoQmxva3VzKToKICAgIHByaW50IChpMiwgZTIpCg==