Σ電卓(2)
いろいろ改良したらかなりまともになったのでとりあえず完成
六角形の個数を求めるやつだと、
$x1$y1$x2$y2$x3$y3$x4$y4$x5$y5$x6$y6[0<=x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6<=N][x1+y1,x2+y2,x3+y3,x4+y4,x5+y5,x6+y6<=N][x1
x4-y4][x3+y3=x4+y4][x4>x5][y4=y5][y5>y6][x5=x6][x6-y6 =1
こんな入力を与えると、
long res = N * (12 + N * (4 + N * (-15 + N * (-5 + N * (3 + N))))) / 720; if ((1 + N) % 2 == 0) res += (45 + N * (-48 + N * (-52 + N * (60 + N * (5 + N * (-12 + 2 * N)))))) / 2880; if (N % 2 == 0) res += N * (-48 + N * (-52 + N * (60 + N * (5 + N * (-12 + 2 * N))))) / 2880; return res;
こんな出力を吐いてくれるようになった。
オプションでmodとったり、BigIntegerにしたりも可能。
SRM454の方は、20行くらいあって長過ぎorz
もっと頑張れそうな気もするけどめんどいからいいやw
そのうちどっかで公開するかも。
ひっそりと公開しました http://ow.ly/SuLM
パスワードはてきと