メモ

yukicoderでゆるふわgolf

yukicoder No.98 円を描こう

問題はこちら
No.98 円を描こう - yukicoder

三平方の定理は既知とすれば
floor(sqrt(x^2+y^2)*2)+1が答えとなることは明らか
(境界の扱いに注意)
doubleで普通に計算すればこの制約の下では誤差は発生しないようだ
hypotを呼んで終わり
(hypot(x,y)はsqrt(x^2+y^2)を返す関数)

a;main(b){scanf("%d%d",&a,&b);a=!printf("%d",a=hypot(a,b)*2+1);}

64B

2017/08/04追記
2を掛ける部分にscanfの返り値が使えるので2B短縮
コンパイラのバージョンアップによる3Bとあわせて5B短縮

a;main(b){printf("%d",a=scanf("%d%d",&a,&b)*hypot(a,b)+1);}

59B