http://yukicoder.me/problems/no/523
解説
http://yukicoder.me/submissions/176856
この問題は同じものを含む順列であると考えることができる。
そのため、N個のLEDがあれば、(2N)!から2!をN回割ればいい。
自分の解法では、(2N)!を計算する時に1*2*3*4*...*(i*2-1)*i*...(2N-1)*(2N)と考え、偶数番目は予め2で割って掛けることで、2!でN回わったことにした
val mod = 1000000007L fun main(args: Array<String>) { var N = sc.nextInt() var ans = 1L for(i in 1..N) { var a = (i * 2 - 1).toLong() var b = i.toLong() ans = (((ans.toLong() * a) % mod) * b) % mod } println(ans) }