466.1

intあふれセットと名付ける。

250

0か約数の数が奇数個の整数になるように、与えられた文字列の任意の桁を書き換える。最小何桁書き換える必要があるか答えよ、という問題。


要は平方数にするだけ。素因数分解して約数の数が奇数個になるものを調べたら、すべての素因数が偶数乗のものって分かるので平方数。後は先頭を0で埋めたりして比較するだけ。

500

見てない。

1000

二次元盤面上に、黒いマスが高々8つある状況で、白いマスを選び、それと同じ列と行の白いマスを黒いマスにするという処理を行う。これを盤面上が全部黒くなるまで繰り返す方法は何通りあるか答えよ、という問題。


手順は高々盤面の短い辺の数だけ。途中で最初からある黒いマスのせいで真っ黒になるケースに気を付ける。黒いマスは高々8マスなので、黒いマスのない列や行は同一視して状態を潰してやる。後は適当にDPで数え上げするだけ。