【呼んでない】3学期開始【くるな】

いやー もう3学期ですね。 しかし正月から一週間で授業を開始する学校も鬼畜ですな。
新年ということで奮発して色素薄子を買いました。全巻。

がんばれ!消えるな!!色素薄子さん 1 (IDコミックス REXコミックス)

がんばれ!消えるな!!色素薄子さん 1 (IDコミックス REXコミックス)

そろそろアニメ化するんじゃないかなーと思っております。 何か森田さんに似た経緯を経る気がする。

それでは 今回は前回のオンオフのパズルを 高速にsolveしたいと思います。

実際のところこのパズル全探索する必要もなく一番端の一辺を一つ決めるとあとの操作は全部決まります。
故に2^(min(n,m))の探索で解けます。
入力

0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0

出力 ついでに最短手数を教えてくれます。

44 steps
1 0 1 0 0 0 0 1 0 1 
0 1 0 0 1 1 0 0 1 0 
1 0 1 0 1 1 0 1 0 1 
0 0 0 1 0 0 1 0 0 0 
0 1 1 0 1 1 0 1 1 0 
0 1 1 0 1 1 0 1 1 0 
0 0 0 1 0 0 1 0 0 0 
1 0 1 0 1 1 0 1 0 1      
0 1 0 0 1 1 0 0 1 0              
1 0 1 0 0 0 0 1 0 1 

ついでにpygameで動くオンオフ作りました。テキトーです

得に解説もないです