Yukicoder No.111 あばばばば

,

http://yukicoder.me/problems/no/111

複雑な問題のgolfは時間がかかる/疲れるからつい短いのばかりやってしまうのですが、そういうのはたいてい最短が自明であばばばば。

solution

ababa...baから回文を抜きだすとすると区間の右端と左端の文字種は同じで、またそうであれば回文。 つまりa bの数をそれぞれ$a,b$として、$\frac{a(a-1)}{2} + \frac{b(b-1)}{2}$。 $a = L/2+1$かつ$b = L/2$であることを踏まえると、単に$(L/2)^2$が答え。

implementation

perl $16$byte

print+(<>>>1)**2

bash $11$byte

dc -e?2/d*p