<前回の続き>
[11 18:624][16 13:624][11 13:624]=[16 18:249(624)]x
1 624 249 376 625 376 249 624 1 0 1 <624> 249 376 [625] [376] <249> [624] [ 1]
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] [624]
249 376 1 624 625 624 1 376 249 0 249 376 1 624 [625] [624] [ 1] [376] [249]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] [376]
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] [625]
376 624 624 376 0 376 624 624 376 0 376 <624> 624 376 0 376 <624> 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 [625] [376] [249] [624] [ 1] 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] [624] 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] [249] 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] [376] 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] [625] 0 625 0 625 0 625 0 625 0 625
376 624 624 376 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
「 624×624×624 は 249と624のうち好きな方を任意に選択できるな☆」
[13 16:624][16 13:624][13 13:376]=[16 16:1(376)]x
1 624 249 376 625 376 249 624 1 0 1 624 249 376 [625] [376] [249] [624] [ 1]
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] [624]
249 376 1 624 625 624 1 376 249 0 249 376 1 <624> [625] [624] < 1> [376] [249]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] [376]
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] [625]
376 624 624 376 0 376 624 624 376 0 376 624 624 <376> 0 376 <624> 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 [625] [376] [249] [624] [ 1] 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] [624] 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] [249] 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] [376] 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] [625] 0 625 0 625 0 625 0 625 0 625
376 624 624 376 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
「 624×624×376 は 1と376のうち好きな方を任意に選択できるな☆」
[13 18:376][18 13:376][13 13:376]=[18 18:1(376)]x
1 624 249 376 625 376 249 624 1 0 1 624 249 <376> [625] [376] [249] [624] < 1>
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] [624]
249 376 1 624 625 624 1 376 249 0 249 376 1 624 [625] [624] [ 1] [376] [249]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] [376]
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] [625]
376 624 624 376 0 376 624 624 376 0 376 624 624 <376> 0 376 624 624 <376>
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 [625] [376] [249] [624] [ 1] 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] [624] 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] [249] 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] [376] 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] [625] 0 625 0 625 0 625 0 625 0 625
376 624 624 376 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
「 376×376×376 は 1と376のうち好きな方を任意に選択できるな☆」
[11 16:376][16 11:376][11 11:376]=[16 16:1(376)]x
1 624 249 376 625 376 249 624 1 0 1 624 249 376 [625] [376] [249] [624] [ 1]
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] [624]
249 376 1 624 625 624 1 376 249 0 249 <376> 1 624 [625] [624] < 1> [376] [249]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] [376]
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] [625]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 <376> 376 624 0 624 <376> 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 [625] [376] [249] [624] [ 1] 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] [624] 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] [249] 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] [376] 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] [625] 0 625 0 625 0 625 0 625 0 625
376 624 624 376 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
「 まあ、1 は掛けた相手になる数だしな☆
点対称であることを攻められると こうなる☆」
[11 18:624][18 11:624][11 11:376]=[18 18:1(376)]x
1 624 249 376 625 376 249 624 1 0 1 <624> 249 376 [625] [376] [249] [624] < 1>
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] [624]
249 376 1 624 625 624 1 376 249 0 249 376 1 624 [625] [624] [ 1] [376] [249]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] [376]
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] [625]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 <376> 376 624 0 624 376 376 <624>
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 [625] [376] [249] [624] [ 1] 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] [624] 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] [249] 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] [376] 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] [625] 0 625 0 625 0 625 0 625 0 625
376 624 624 376 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
[13 16:624][18 11:624][13 11:624]=[18 16:249(624)]x
1 624 249 376 625 376 249 624 1 0 1 624 249 376 [625] [376] [249] [624] [ 1]
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] [624]
249 376 1 624 625 624 1 376 249 0 249 376 1 <624> [625] [624] [ 1] [376] <249>
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] [376]
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] [625]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 <624> 0 624 376 376 <624>
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 [625] [376] [249] [624] [ 1] 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] [624] 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] [249] 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] [376] 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] [625] 0 625 0 625 0 625 0 625 0 625
376 624 624 376 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
[1 8:624][6 3:624][1 3:624]=[6 8:249(624)]x
1 624 249 376 625 376 249 624 1 0 1 624 249 376 [625] [376] [249] [624] [ 1]
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] [624]
249 376 1 624 625 624 1 376 249 0 249 376 1 624 [625] [624] [ 1] [376] [249]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] [376]
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] [625]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 <624> 249 376 [625] [376] <249> [624] [ 1] 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] [624] 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] [249] 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] [376] 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] [625] 0 625 0 625 0 625 0 625 0 625
376 <624> 624 376 0 376 <624> 624 376 0 376 624 624 376 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
「 これも 右上の九九でやった 最初の反例 を 左下の九九でやってるだけだぜ☆」
(反例 8)
[1 18:624][16 3:624][1 3:624]=[16 18:249(624)]x
1 <624> 249 376 625 376 249 624 1 0 1 624 249 376 [625] [376] <249> [624] [ 1]
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] [624]
249 376 1 624 625 624 1 376 249 0 249 376 1 624 [625] [624] [ 1] [376] [249]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] [376]
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] [625]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 [625] [376] [249] [624] [ 1] 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] [624] 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] [249] 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] [376] 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] [625] 0 625 0 625 0 625 0 625 0 625
376 <624> 624 376 0 376 624 624 376 0 376 624 624 376 0 376 <624> 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
「 この時点で 反例1~8を全部埋める方法は 思いついているが、
正しい例も潰してしまいそうなのが 悩みだぜ☆」
(反例 9)
[3 6:624][6 3:624][3 3:376]=[6 6:1(376)]x
1 624 249 376 625 376 249 624 1 0 1 624 249 376 [625] [376] [249] [624] [ 1]
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] [624]
249 376 1 624 625 624 1 376 249 0 249 376 1 624 [625] [624] [ 1] [376] [249]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] [376]
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] [625]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 [625] [376] [249] [624] [ 1] 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] [624] 0 624 376 376 624 0 624 376 376 624
249 376 1 <624> [625] [624] < 1> [376] [249] 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] [376] 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] [625] 0 625 0 625 0 625 0 625 0 625
376 624 624 <376> 0 376 <624> 624 376 0 376 624 624 376 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
「 まだ反例は 9個 残っているぜ☆ そんなこと できるのかだぜ☆?」
「 事実が見えたわけではない☆ 新しい仮説が思いついただけだぜ☆
良い仮説を お見せしよう☆」
def is_red_zone(x, y):
"""
対角線上に現れる、九九エリアの右上の区画。
"""
# 1辺10を1区画と考えたときの、対角線上にある区画。
x3 = x // 10
y3 = y // 10
if(x3 == y3):
x2 = x % 10
y2 = y % 10
if(4 <= x2 and x2 <= 8 and 4 <= y2 and y2 <= 8):
# 九九エリアの右上の区画。
return True
elif(0 <= x2 and x2 <= 3 and 0 <= y2 and y2 <= 3):
# 九九エリアの左下の区画。
return True
return False
1 624 249 376 625 376 249 624 1 0 1 624 249 376 [625] [376] [249] [624] [ 1]
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] [624]
249 376 1 624 625 624 1 376 249 0 249 376 1 624 [625] [624] [ 1] [376] [249]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] [376]
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] [625]
376 624 624 376 0 376 624 624 376 0 [376] [624] [624] [376] 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 [249] [376] [ 1] [624] 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 [624] [376] [376] [624] 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 [ 1] [624] [249] [376] 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 [625] [376] [249] [624] [ 1] 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] [624] 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] [249] 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] [376] 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] [625] 0 625 0 625 0 625 0 625 0 625
[376] [624] [624] [376] 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
[249] [376] [ 1] [624] 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
[624] [376] [376] [624] 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
[ 1] [624] [249] [376] 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
「 もっと かっちりとした赤枠の位置もあると思うが テーブルを変えるのが めんどくさいので 対処療法とした☆」
# 正方形縛り
Info : Succeed 16
Info : Failed 0
Info : Rate 1.0000
# 長方形
Info : Succeed 1256
Info : Failed 240
Info : Rate 0.8396
「 お父ん、成功例 16 は全てのケースを網羅できてないだろう☆」
def is_red_zone(x, y):
"""
対角線上に現れる、九九エリアの右上の区画。
"""
# 1辺10を1区画と考えたときの、対角線上にある区画。
x3 = x // 10
y3 = y // 10
if(x3 == y3):
x2 = x % 10
y2 = y % 10
if(4 <= x2 and x2 <= 8 and 4 <= y2 and y2 <= 8):
# 九九エリアの右上の区画。
return True
elif(1 <= x2 and x2 <= 3 and 1 <= y2 and y2 <= 3):
# 九九エリアの左下の区画。一番左下を除く。
return True
return False
1 624 249 376 625 376 249 624 1 0 1 624 249 376 [625] [376] [249] [624] [ 1]
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] [624]
249 376 1 624 625 624 1 376 249 0 249 376 1 624 [625] [624] [ 1] [376] [249]
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] [376]
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] [625]
376 624 624 376 0 376 624 624 376 0 376 [624] [624] [376] 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 [376] [ 1] [624] 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 [376] [376] [624] 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 [625] [376] [249] [624] [ 1] 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] [624] 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] [249] 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] [376] 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] [625] 0 625 0 625 0 625 0 625 0 625
376 [624] [624] [376] 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 [376] [ 1] [624] 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 [376] [376] [624] 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
# 正方形縛り
Info : Succeed 64
Info : Failed 0
Info : Rate 1.0000
# 長方形
Info : Succeed 1572
Info : Failed 252
Info : Rate 0.8618
def is_red_zone(x, y):
"""
対角線上に現れる、九九エリアの右上の区画。
"""
# 1辺10を1区画と考えたときの、対角線上にある区画。
x3 = x // 10
y3 = y // 10
if(x3 == y3):
x2 = x % 10
y2 = y % 10
if(4 <= x2 and x2 <= 7 and 4 <= y2 and y2 <= 7):
# 九九エリアの右上の区画。大外を除く。
return True
elif(1 <= x2 and x2 <= 3 and 1 <= y2 and y2 <= 3):
# 九九エリアの左下の区画。大外を除く。
return True
return False
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] 624
249 376 1 624 625 624 1 376 249 0 249 376 1 624 [625] [624] [ 1] [376] 249
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] 376
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] 625
376 624 624 376 0 376 624 624 376 0 376 [624] [624] [376] 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 [376] [ 1] [624] 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 [376] [376] [624] 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] 624 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] 249 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] 376 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] 625 0 625 0 625 0 625 0 625 0 625
376 [624] [624] [376] 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 [376] [ 1] [624] 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 [376] [376] [624] 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
# 正方形縛り
Info : Succeed 60
Info : Failed 0
Info : Rate 1.0000
# 長方形
Info : Succeed 1272
Info : Failed 120
Info : Rate 0.9138
「 うわっ、長方形のレートが上がってきた、正方形は下がった☆」
def is_red_zone(x, y):
"""
対角線上に現れる、九九エリアの右上の区画。
"""
# 1辺10を1区画と考えたときの、対角線上にある区画。
x3 = x // 10
y3 = y // 10
if(x3 == y3):
x2 = x % 10
y2 = y % 10
if(4 <= x2 and x2 <= 7 and 4 <= y2 and y2 <= 7):
# 九九エリアの右上の区画。大外を除く。
return True
elif(2 <= x2 and x2 <= 3 and 2 <= y2 and y2 <= 3):
# 九九エリアの左下の区画。
return True
elif(x2 == 1 and y2 == 1):
# 九九エリアの左下の区画。大外を除く。
return True
return False
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] 624
249 376 1 624 625 624 1 376 249 0 249 376 1 624 [625] [624] [ 1] [376] 249
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] 376
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] 625
376 624 624 376 0 376 624 624 376 0 376 624 [624] [376] 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 [ 1] [624] 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 [376] 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] 624 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] 249 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] 376 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] 625 0 625 0 625 0 625 0 625 0 625
376 624 [624] [376] 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 [ 1] [624] 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 [376] 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
# 正方形縛り
Info : Succeed 70
Info : Failed 0
Info : Rate 1.0000
# 長方形
Info : Succeed 1192
Info : Failed 132
Info : Rate 0.9003
「 思たが あと30分で寝たい☆ 反例を10個ほど 見てみようぜ☆?」
[13 16:624][16 0:249][13 0:376]=[16 16:1(376)]x
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] 624
249 376 1 624 625 624 1 376 249 0 249 376 1 <624> [625] [624] < 1> [376] 249
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] 376
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] 625
376 624 624 376 0 376 624 624 376 0 376 624 [624] [376] 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 [ 1] [624] 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 [376] 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] 624 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] 249 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] 376 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] 625 0 625 0 625 0 625 0 625 0 625
376 624 [624] [376] 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 [ 1] [624] 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 [376] 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 <376> 625 376 <249> 624 1
「 出力は スクロールして流れていったので、分かるところだけだぜ☆
大外枠を利用した 624×249×376 で答え 1 の間違いだぜ☆」
「 その 1 を防ぐための 正方形と 対角線 だったんじゃないの?」
[13 16:624][14 0:625][13 0:376]=[14 16:625(0)]x
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] 624
249 376 1 624 625 624 1 376 249 0 249 376 1 <624> <625> [624] [ 1] [376] 249
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] 376
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] 625
376 624 624 376 0 376 624 624 376 0 376 624 [624] [376] 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 [ 1] [624] 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 [376] 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] 624 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] 249 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] 376 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] 625 0 625 0 625 0 625 0 625 0 625
376 624 [624] [376] 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 [ 1] [624] 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 [376] 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 <376> <625> 376 249 624 1
「 これも大外枠を利用している☆ 624×625×376 で答え 625 の間違いだぜ☆」
[11 16:376][16 0:249][11 0:624]=[16 16:1(376)]x
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] 624
249 376 1 624 625 624 1 376 249 0 249 <376> 1 624 [625] [624] < 1> [376] 249
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] 376
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] 625
376 624 624 376 0 376 624 624 376 0 376 624 [624] [376] 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 [ 1] [624] 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 [376] 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] 624 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] 249 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] 376 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] 625 0 625 0 625 0 625 0 625 0 625
376 624 [624] [376] 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 [ 1] [624] 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 [376] 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 <624> 249 376 625 376 <249> 624 1
「 これも大外枠を利用している☆ 376×249×624 で答え 1 の間違いだぜ☆」
def is_red_zone(x, y):
"""
対角線上に現れる、九九エリアの右上の区画。
"""
if (y == 0 and 0 < x) or (x == 0 and 0 < y):
# 原点を除く、全左辺と全底辺を除く。
return True
# 1辺10を1区画と考えたときの、対角線上にある区画。
x3 = x // 10
y3 = y // 10
if(x3 == y3):
x2 = x % 10
y2 = y % 10
if 4 <= x2 and x2 <= 7 and 4 <= y2 and y2 <= 7:
# 九九エリアの右上の区画。大外を除く。
return True
elif 2 <= x2 and x2 <= 3 and 2 <= y2 and y2 <= 3:
# 九九エリアの左下の区画。
return True
elif x2 == 1 and y2 == 1:
# 九九エリアの左下の区画。大外を除く。
return True
return False
[ 1] 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
[624] 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] 624
[249] 376 1 624 625 624 1 376 249 0 249 376 1 624 [625] [624] [ 1] [376] 249
[376] 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] 376
[625] 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] 625
[376] 624 624 376 0 376 624 624 376 0 376 624 [624] [376] 0 376 624 624 376
[249] 376 1 624 625 624 1 376 249 0 249 376 [ 1] [624] 625 624 1 376 249
[624] 376 376 624 0 624 376 376 624 0 624 [376] 376 624 0 624 376 376 624
[ 1] 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
[ 0] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[ 1] 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
[624] 376 376 624 [ 0] [624] [376] [376] 624 0 624 376 376 624 0 624 376 376 624
[249] 376 1 624 [625] [624] [ 1] [376] 249 0 249 376 1 624 625 624 1 376 249
[376] 624 624 376 [ 0] [376] [624] [624] 376 0 376 624 624 376 0 376 624 624 376
[625] 0 625 0 [625] [ 0] [625] [ 0] 625 0 625 0 625 0 625 0 625 0 625
[376] 624 [624] [376] 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
[249] 376 [ 1] [624] 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
[624] [376] 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 [624] [249] [376] [625] [376] [249] [624] [ 1] [ 0] [ 1] [624] [249] [376] [625] [376] [249] [624] [ 1]
# 正方形縛り
Info : Succeed 48
Info : Failed 0
Info : Rate 1.0000
# 長方形
Info : Succeed 858
Info : Failed 88
Info : Rate 0.9070
「 長方形で 間違いが88個しかないというのは いいとこ攻めてる のでは☆」
[11 16:376][16 1:376][11 1:376]=[16 16:1(376)]x
[ 1] 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
[624] 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] 624
[249] 376 1 624 625 624 1 376 249 0 249 <376> 1 624 [625] [624] < 1> [376] 249
[376] 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] 376
[625] 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] 625
[376] 624 624 376 0 376 624 624 376 0 376 624 [624] [376] 0 376 624 624 376
[249] 376 1 624 625 624 1 376 249 0 249 376 [ 1] [624] 625 624 1 376 249
[624] 376 376 624 0 624 376 376 624 0 624 [376] 376 624 0 624 376 376 624
[ 1] 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
[ 0] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[ 1] 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
[624] 376 376 624 [ 0] [624] [376] [376] 624 0 624 376 376 624 0 624 376 376 624
[249] 376 1 624 [625] [624] [ 1] [376] 249 0 249 376 1 624 625 624 1 376 249
[376] 624 624 376 [ 0] [376] [624] [624] 376 0 376 624 624 376 0 376 624 624 376
[625] 0 625 0 [625] [ 0] [625] [ 0] 625 0 625 0 625 0 625 0 625 0 625
[376] 624 [624] [376] 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
[249] 376 [ 1] [624] 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
[624] [376] 376 624 0 624 376 376 624 0 624 <376> 376 624 0 624 <376> 376 624
1 [624] [249] [376] [625] [376] [249] [624] [ 1] [ 0] [ 1] [624] [249] [376] [625] [376] [249] [624] [ 1]
「 大外を利用した 376×376×376 で答え 1 の間違いだぜ☆
376 は 何乗しても 376 だな☆」
「 一番右上の 1 を赤枠にすれば 正方形の成功が 1 増えるんじゃないの?」
[ 1] 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 [ 1]
[624] 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] 624
[249] 376 1 624 625 624 1 376 249 0 249 376 1 624 [625] [624] [ 1] [376] 249
[376] 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] 376
[625] 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] 625
[376] 624 624 376 0 376 624 624 376 0 376 624 [624] [376] 0 376 624 624 376
[249] 376 1 624 625 624 1 376 249 0 249 376 [ 1] [624] 625 624 1 376 249
[624] 376 376 624 0 624 376 376 624 0 624 [376] 376 624 0 624 376 376 624
[ 1] 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
[ 0] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[ 1] 624 249 376 625 376 249 624 [ 1] 0 1 624 249 376 625 376 249 624 1
[624] 376 376 624 [ 0] [624] [376] [376] 624 0 624 376 376 624 0 624 376 376 624
[249] 376 1 624 [625] [624] [ 1] [376] 249 0 249 376 1 624 625 624 1 376 249
[376] 624 624 376 [ 0] [376] [624] [624] 376 0 376 624 624 376 0 376 624 624 376
[625] 0 625 0 [625] [ 0] [625] [ 0] 625 0 625 0 625 0 625 0 625 0 625
[376] 624 [624] [376] 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
[249] 376 [ 1] [624] 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
[624] [376] 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 [624] [249] [376] [625] [376] [249] [624] [ 1] [ 0] [ 1] [624] [249] [376] [625] [376] [249] [624] [ 1]
「 一番右上というのは 観測者により不定だから、九九の右上 と考えるのが自然だろう☆」
# 正方形縛り
Info : Succeed 42
Info : Failed 0
Info : Rate 1.0000
# 長方形
Info : Succeed 854
Info : Failed 180
Info : Rate 0.8259
「 長方形の フェイルドを ざっと眺めてみたが、長方形、無理だろ☆」
「 正方形の サクシードを増やす方も 当たってみるかだぜ☆」
「 おなじ種類のサクシードばかり増えても意味ないのよ?
網羅律は 表示できないの? カバレッジ!」
「 パワフルシックス数は 6つ☆ 左上、右下、左下、右上 で1かたまりとし、
組み合わせではなく 順列で 網羅しようぜ☆ 6×6×6×6 は……、2096かだぜ☆?」
pow6 = [0, 1, 249, 376, 624, 625]
cover_dict = {}
for tl in range(0, 6):
for br in range(0, 6):
for bl in range(0, 6):
for tr in range(0, 6):
key = ((pow6[tl]*1000 + pow6[br]) *
1000 + pow6[bl])*1000 + pow6[tr]
value = 0
cover_dict[key] = value
print("Size : {}".format(len(cover_dict)))
print("Info : Finished.")
Size : 1296
「 こんな感じで 網羅 を調べるための表に なってるのかだぜ☆?」
pow6 = [0, 1, 249, 376, 624, 625]
cover_dict = {}
for tl in range(0, 6):
for br in range(0, 6):
for bl in range(0, 6):
for tr in range(0, 6):
key = ((pow6[tl]*1000 + pow6[br]) *
1000 + pow6[bl])*1000 + pow6[tr]
value = {"suceed": 0, "failed": 0}
cover_dict[key] = value
print("Size : {}".format(len(cover_dict)))
print("Info : Finished.")
for key, value in cover_dict.items():
print("{}: {}".format(key, value))
# 前略
625625624624: {'suceed': 0, 'failed': 0}
625625624625: {'suceed': 0, 'failed': 0}
625625625000: {'suceed': 0, 'failed': 0}
625625625001: {'suceed': 0, 'failed': 0}
625625625249: {'suceed': 0, 'failed': 0}
625625625376: {'suceed': 0, 'failed': 0}
625625625624: {'suceed': 0, 'failed': 0}
625625625625: {'suceed': 0, 'failed': 0}
「 カバー率を調べたいから、サクシードだけしている項目の数、フェイルドだけしている項目の数、
両方している項目の数、どちらもしていない項目の数 は出せる?」
sum_succeed = 0
sum_failed = 0
sum_both = 0
sum_none = 0
for key, value in cover_dict.items():
if 0 < value["succeed"] and 0 < value["failed"]:
sum_both += 1
elif 0 < value["succeed"]:
sum_succeed += 1
elif 0 < value["failed"]:
sum_succeed += 1
else:
sum_none += 1
print("{}: {}".format(key, value))
print("Succeed : {}".format(sum_succeed))
print("Failed : {}".format(sum_failed))
print("Both : {}".format(sum_both))
print("None : {}".format(sum_none))
「 succeed と failed にランダムに0か1を放り込んでみろだぜ☆」
import random
pow6 = [0, 1, 249, 376, 624, 625]
cover_dict = {}
for tl in range(0, 6):
for br in range(0, 6):
for bl in range(0, 6):
for tr in range(0, 6):
key = ((pow6[tl]*1000 + pow6[br]) *
1000 + pow6[bl])*1000 + pow6[tr]
value = {"succeed": random.randint(
0, 1), "failed": random.randint(0, 1)}
cover_dict[key] = value
print("Size : {}".format(len(cover_dict)))
# 前略
625625376624: {'succeed': 0, 'failed': 1}
625625376625: {'succeed': 1, 'failed': 1}
625625624000: {'succeed': 1, 'failed': 0}
625625624001: {'succeed': 1, 'failed': 0}
625625624249: {'succeed': 0, 'failed': 0}
625625624376: {'succeed': 1, 'failed': 0}
625625624624: {'succeed': 0, 'failed': 0}
625625624625: {'succeed': 1, 'failed': 0}
625625625000: {'succeed': 0, 'failed': 0}
625625625001: {'succeed': 1, 'failed': 1}
625625625249: {'succeed': 1, 'failed': 0}
625625625376: {'succeed': 1, 'failed': 0}
625625625624: {'succeed': 1, 'failed': 0}
625625625625: {'succeed': 0, 'failed': 1}
Succeed : 670
Failed : 0
Both : 285
None : 341
「 おうおう☆! failed の総和が間違っているぜ☆!」
sum_succeed = 0
sum_failed = 0
sum_both = 0
sum_none = 0
for key, value in cover_dict.items():
if 0 < value["succeed"] and 0 < value["failed"]:
sum_both += 1
elif 0 < value["succeed"]:
sum_succeed += 1
elif 0 < value["failed"]:
sum_failed += 1
else:
sum_none += 1
print("{}: {}".format(key, value))
print("Succeed : {}".format(sum_succeed))
print("Failed : {}".format(sum_failed))
print("Both : {}".format(sum_both))
print("None : {}".format(sum_none))
# 前略
625625376624: {'succeed': 0, 'failed': 1}
625625376625: {'succeed': 0, 'failed': 1}
625625624000: {'succeed': 0, 'failed': 0}
625625624001: {'succeed': 0, 'failed': 1}
625625624249: {'succeed': 1, 'failed': 1}
625625624376: {'succeed': 1, 'failed': 1}
625625624624: {'succeed': 0, 'failed': 1}
625625624625: {'succeed': 0, 'failed': 0}
625625625000: {'succeed': 0, 'failed': 1}
625625625001: {'succeed': 0, 'failed': 1}
625625625249: {'succeed': 0, 'failed': 1}
625625625376: {'succeed': 1, 'failed': 1}
625625625624: {'succeed': 1, 'failed': 1}
625625625625: {'succeed': 0, 'failed': 0}
Succeed : 349
Failed : 321
Both : 289
None : 337
def append_cover(tl, br, bl, tr, succeed, failed):
key = ((tl*1000 + br) *
1000 + bl)*1000 + tr
value = {"succeed": cover_dict[key]["succeed"] +
succeed, "failed": cover_dict[key]["failed"] + failed}
cover_dict[key] = value
./lib/powerful_six_coverage.py
def append_cover(tl, br, bl, tr, succeed, failed):
key = ((tl*1000 + br) *
1000 + bl)*1000 + tr
if key not in cover_dict:
cover_dict[key] = {"succeed": 0, "failed": 0}
value = {"succeed": cover_dict[key]["succeed"] +
succeed, "failed": cover_dict[key]["failed"] + failed}
cover_dict[key] = value
def init_cover_dict():
import random
for tl in range(0, 6):
for br in range(0, 6):
for bl in range(0, 6):
for tr in range(0, 6):
key = ((pow6[tl]*1000 + pow6[br]) *
1000 + pow6[bl])*1000 + pow6[tr]
value = {"succeed": 0, "failed": 0}
cover_dict[key] = value
print("Size : {}".format(len(cover_dict)))
init_cover_dict()
def show_cover_dict():
sum_succeed = 0
sum_failed = 0
sum_both = 0
sum_none = 0
for key, value in cover_dict.items():
if 0 < value["succeed"] and 0 < value["failed"]:
sum_both += 1
elif 0 < value["succeed"]:
sum_succeed += 1
elif 0 < value["failed"]:
sum_failed += 1
else:
sum_none += 1
print("{}: {}".format(key, value))
print("Succeed : {}".format(sum_succeed))
print("Failed : {}".format(sum_failed))
print("Both : {}".format(sum_both))
print("None : {}".format(sum_none))
print("Total : {}".format(sum_succeed+sum_failed+sum_both+sum_none))
show_cover_dict()
print("Info : Finished.")
# 前略
625625376624: {'succeed': 0, 'failed': 1}
625625376625: {'succeed': 0, 'failed': 0}
625625624000: {'succeed': 1, 'failed': 1}
625625624001: {'succeed': 0, 'failed': 1}
625625624249: {'succeed': 0, 'failed': 1}
625625624376: {'succeed': 0, 'failed': 0}
625625624624: {'succeed': 0, 'failed': 0}
625625624625: {'succeed': 0, 'failed': 1}
625625625000: {'succeed': 0, 'failed': 0}
625625625001: {'succeed': 0, 'failed': 0}
625625625249: {'succeed': 1, 'failed': 1}
625625625376: {'succeed': 1, 'failed': 1}
625625625624: {'succeed': 0, 'failed': 1}
625625625625: {'succeed': 1, 'failed': 0}
Succeed : 308
Failed : 348
Both : 313
None : 327
Total : 1296
Info : Finished.
from lib.powerful_six_coverage import init_cover_dict
from lib.powerful_six_coverage import append_cover
from lib.powerful_six_coverage import show_cover_dict
「 Python3 の import は、こんな書き方でいいんだろうか☆?」
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
624 376 376 624 0 624 376 376 624 0 624 376 376 624 [ 0] [624] [376] [376] 624
249 376 1 624 625 624 1 376 249 0 249 376 1 624 [625] [624] [ 1] [376] 249
376 624 624 376 0 376 624 624 376 0 376 624 624 376 [ 0] [376] [624] [624] 376
625 0 625 0 625 0 625 0 625 0 625 0 625 0 [625] [ 0] [625] [ 0] 625
376 624 624 376 0 376 624 624 376 0 376 624 [624] [376] 0 376 624 624 376
249 376 1 624 625 624 1 376 249 0 249 376 [ 1] [624] 625 624 1 376 249
624 376 376 624 0 624 376 376 624 0 624 [376] 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
624 376 376 624 [ 0] [624] [376] [376] 624 0 624 376 376 624 0 624 376 376 624
249 376 1 624 [625] [624] [ 1] [376] 249 0 249 376 1 624 625 624 1 376 249
376 624 624 376 [ 0] [376] [624] [624] 376 0 376 624 624 376 0 376 624 624 376
625 0 625 0 [625] [ 0] [625] [ 0] 625 0 625 0 625 0 625 0 625 0 625
376 624 [624] [376] 0 376 624 624 376 0 376 624 624 376 0 376 624 624 376
249 376 [ 1] [624] 625 624 1 376 249 0 249 376 1 624 625 624 1 376 249
624 [376] 376 624 0 624 376 376 624 0 624 376 376 624 0 624 376 376 624
1 624 249 376 625 376 249 624 1 0 1 624 249 376 625 376 249 624 1
# 正方形縛り
Succeed : 21
Failed : 0
Both : 0
None : 1275
Total : 1296
Rate : 0.0162
# 長方形
Succeed : 55
Failed : 10
Both : 0
None : 1231
Total : 1296
Rate : 0.0424
「 正方形縛りの サクシードが 70 から 21 に減ってるじゃないか☆?」
「 49個も 重複があったんじゃないか☆? 21種類だったんだぜ☆」
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント