プログラム説明
グローバル変数 wx, wy はマスのサイズ、wz=wx*wy です。nsolve は見つけた解の個数をカウントします。
関数 ztst(z,i) は、盤面を表す変数 z について、i 番目のマスが白なら non0 を返します。
関数 zinv(z,i) は、z の i番目のマスを反転した状態の盤面を返します。
マスは左上から右、上から下へ 0,1,2,... と番号が振ってあります。
盤の状態は整数で表します。マス0が白なら 1, マス1が白なら 2, マス2が白なら 4, ... の合計で表します。
例えば 白赤赤白という盤面は 1+0+0+8 = 9 と表現されます。
0そうだね プレイ済み